Init类的NSMutableArray对象

时间:2016-02-16 15:45:34

标签: objective-c swift

我在项目中使用Objective C / Swift类,我遇到了这个问题:

我尝试根据我的目标C方法初始化一个NSMutableArray,其中包含Swift中XXXIndicator类型的对象:

- (void)myMethod : (NSMutableArray<XXXIndicator*> *) indicatorsArray;

我创建了我的Swift可变数组:

var indicatorsArrayCABarDatasource = [XXXIndicator]()

现在一切正常。

当我调用我的objective-c方法(由我的桥接类生成的swift方法)时,我收到以下错误:

"Cannot convert value of type [XXXIndicator] to expected argument type "NSMutableArray!"

我如何称呼我的方法:

myView.myMethod(indicatorsArrayCABarDatasource)

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

问题是Swift数组,即使用NSArray声明它们,也会桥接到NSMutableArray而不是NSMutableArray,所以你必须明确地将它转换为{{1}与它的构造函数,如:

NSMutableArray(array: indicatorsArrayCABarDatasource)