我在我的 objective-c 文件中定义了一个 typedef:
typedef enum : long{
tb_closed_k = 0,
tb_open_k
} MyState;
现在我在我的 Swift 类中创建一个这种类型的成员:
@objc class myClass {
var activeState: MyState = tb_closed_k
func testState( state:MyState ){
if state != activeState{
..do something
}
}
}
所以比较状态的行给我错误“MyState is not convertible to 'NativeObject'. I am using xCode 6-Beta3. Any Ideas.
谢谢 礼萨
最佳答案
您的枚举不能直接导入到 Swift 中,因为它不使用 NS_ENUM
宏。在 Swift 中重写枚举(使用 Int
,而不是 long
)或合并 NS_ENUM
。无论如何,在这里使用 long
无论如何都是一个非常糟糕的主意,因为它不会作为原生类型进入 Swift,而 NSInteger 将作为 Int 进入。
关于ios - Objective-c 枚举在 Swift 中获取错误 "... is not convertible to ' NativeObject'",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24703941/