0
我已枚举定义如下:夫特2:@objc协议和枚举阵列
@objc enum MyEnum: Int {
case Case1, Case2
}
和以下方案:
@objc protocol MyProtocol {
func myFunc(myData: [MyEnum])
}
现在协议引发以下错误:
Method cannot be a member of a @objc protocol because the type of the parameter cannot be represented in Objective-C
我不明白为什么会发生这种情况。为什么这个工程:
func MyFunc(myData: MyEnum)
但抛出错误的数组?
我想传递一个Int数组,然后将其转换回枚举,但我不太喜欢它。有更好的解决方案吗?
是啊,你是对的,我没有想到的是NSArray中只能包含指针。至于解决方案,我将for循环移到了函数之外,而不是在函数之外进行变换,然后再在函数内部进行变换 – whtman