我在Swift 3中声明NSMutableArray时遇到问题,因为使用传统的目标C代码将swift Array
数据类型桥接到NSArray
。这就是我要做的事情:
var myMutableArray: NSMutableArray = [myObjectCustomClass]
但是我收到了编译错误:
无法转换类型' [myObjectCustomClass] .Type'的值(又名 ' Array.Type'指定类型' NSMutableArray'
我还尝试了其他一些方法,例如:
var myMutableArray = NSMutableArray<myObjectCustomClass>
var myMutableArray:[myObjectCustomClass] = NSMutableArray<myObjectCustomClass>
但没有运气。有什么想法吗?
答案 0 :(得分:2)
在声明为NSMutableArray时,您没有初始化myObjectCustomClass,这就是显示错误的原因。您可以在声明时初始化数组,也可以稍后将元素作为声明的var
添加到数组中在声明
时尝试初始化var myMutableArray: NSMutableArray = [myObjectCustomClass()]
or
var myMutableArray: [myObjectCustomClass] = [myObjectCustomClass()] //swift 3 way
或者声明为CustomClass Array变量,然后添加对象
var myMutableArray: [myObjectCustomClass] = []
let myObjectCustomClass = myObjectCustomClass()
myMutableArray.append(myObjectCustomClass)