我的课上有一个变量
var list = []
我使用它对我的类的一个功能:
func chargeData (data: NSArray){ list = data }
它在我的Swift 2.3项目中运行良好,但是当我将其更新到XCode8和Swift3时,它给了我以下错误:
Empty collection literal requires an explicit type
所以我已经添加了一个类型转换到我的列表变量:
var list = [] as! NSArray
但它给了我以下警报:
Forced cast of ‘NSArray’ to same type has no effect
我知道一个警报没有打破应用程序,但我想以正确的方式解决这个错误.
提前致谢!
解决方法
出现此错误,因为隐式转换被取消,因此您必须告诉编译器显式类型(ArrayLiteral []):
var list: NSArray = [] // or var list = [] as NSArray