Swift 3 - 使用自定义对象声明NSMutableArray数据类型

时间:2017-03-20 15:02:13

标签: ios objective-c swift3 nsmutablearray declaration

我在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>

但没有运气。有什么想法吗?

1 个答案:

答案 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)