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

前端之家收集整理的这篇文章主要介绍了ios – Swift3上的“Empty collection literal需要显式类型”错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的课上有一个变量
var list = []
@H_404_4@我使用它对我的类的一个功能

func chargeData (data: NSArray){
    list = data
}
@H_404_4@它在我的Swift 2.3项目中运行良好,但是当我将其更新到XCode8和Swift3时,它给了我以下错误

@H_404_4@Empty collection literal requires an explicit type

@H_404_4@所以我已经添加了一个类型转换到我的列表变量:

var list = [] as! NSArray
@H_404_4@但它给了我以下警报:

@H_404_4@Forced cast of ‘NSArray’ to same type has no effect

@H_404_4@我知道一个警报没有打破应用程序,但我想以正确的方式解决这个错误.

@H_404_4@有人有相同的错误并正确解决吗?

@H_404_4@提前致谢!

解决方法

出现此错误,因为隐式转换被取消,因此您必须告诉编译器显式类型(ArrayLiteral []):
var list: NSArray = []
// or
var list = [] as NSArray

猜你在找的iOS相关文章