【发布时间】:2016-10-18 13:10:01
【问题描述】:
我有一个在 Objective-C 中声明如下的方法
+(void) clearAll:(NSArray<ParameterType> *)values;
我有另一个类方法,在另一个对象中声明如下
+(NSArray *) values;
我正在尝试从 Swift 中调用它们,如下所示:
MyObject.clearAll(MyOtherObject.values())
当我尝试运行它时,它会显示一系列不同的编译时错误。
错误是:
"Generic parameter 'ObjectType' could not be inferred"
那我试试MyObject.clearAll(MyOtherObject.values() as NSArray<MyOtherObject>)
并获取"Cannot specialize non-generic type 'NSArray'"
当我尝试 MyObject.clearAll(MyOtherObject.values() as!Array)
我收到"Array<MyOtherObject> is not convertible to [Any]"
我该如何解决这个问题?
【问题讨论】:
标签: objective-c generics compiler-errors swift3 class-method