ios – Swift3上的“Empty collection literal需要显式类型”错误

我的课上有一个变量
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

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...