【发布时间】:2018-04-11 17:49:32
【问题描述】:
var dataSource: [Any] = []
我像上面一样声明数组,然后当我这样做时
// fetchedData is an array of Swift object
dataSource.append(contentsOf: fetchedData)
我有编译错误说Extraneous argument label 'contentsOf:' in call
[Any] 类型认为我正在传递一个对象,我不喜欢将 dataSource 类型更改为特定的类型。有没有办法解决这个问题?
【问题讨论】:
-
尝试将`append(contentsOf: fetchedData as [Any])
-
考虑使用比
Any更具体的东西。 -
呼应@vadian 的观点,几乎没有
[Any]是正确类型的情况。您几乎可以肯定地错误地解决了这个问题,虽然可以解决这个问题(如 Julien 的回答),但如果您继续沿着这条路走下去,您可能会不断地与 Swift 作斗争。Any不是通用类型;它适用于非常专业的问题,难以正确使用。