我尝试使用带有关联值的enum
来捕获Reactive Cocoa 2.5 RACSignal
操作流的结果。 API指定信号包含AnyObject
值。我收到Cannot convert value of type 'MyEnum' to expected argument type 'AnyObject!'
的错误。有没有简单的方法将我的枚举值包装在引用中,以便这可以工作?
答案 0 :(得分:1)
我想你必须问enum
是否真的是最好的选择。但如果是的话,你能不能只创建自己的包装器?
enum MyEnum {
case MyCase(String)
}
class MyEnumWrapper {
var myEnum: MyEnum
init(_ myEnum: MyEnum) {
self.myEnum = myEnum
}
}
func takeAnyObject(a: AnyObject!) {
if let myEnumW = a as? MyEnumWrapper {
print(myEnumW.myEnum)
}
}
let tmp = MyEnumWrapper(.MyCase("Hello"))
takeAnyObject(tmp)