Return 具有关联值的枚举,其中需要 AnyObject
Return an enum with associated value where AnyObject is expected
我正在尝试使用具有关联值的 enum
来捕获 Reactive Cocoa 2.5 RACSignal
操作流的结果。 API 指定信号包含 AnyObject
值。我收到 Cannot convert value of type 'MyEnum' to expected argument type 'AnyObject!'
的错误。有什么简单的方法可以将我的枚举值包装在一个引用中,这样它就可以工作了吗?
我想你必须问 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)
我正在尝试使用具有关联值的 enum
来捕获 Reactive Cocoa 2.5 RACSignal
操作流的结果。 API 指定信号包含 AnyObject
值。我收到 Cannot convert value of type 'MyEnum' to expected argument type 'AnyObject!'
的错误。有什么简单的方法可以将我的枚举值包装在一个引用中,这样它就可以工作了吗?
我想你必须问 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)