我在项目中使用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)
感谢您的帮助。
答案 0 :(得分:1)
问题是Swift数组,即使用NSArray
声明它们,也会桥接到NSMutableArray
而不是NSMutableArray
,所以你必须明确地将它转换为{{1}与它的构造函数,如:
NSMutableArray(array: indicatorsArrayCABarDatasource)