我正在尝试使用这个方法:class_addMethod()
,在Obj-c中可以像这样使用:
class_addMethod([self class], @selector(eventHandler), imp_implementationWithBlock(handler), "v@:");
我在Swift中这样使用它:
class_addMethod(NSClassFromString("UIBarButtonItem"), "handler", imp_implementationWithBlock(handler), "v@:")
正如你可能已经发现的那样,它是UIBarButtonItem
的扩展。
imp_implementationWithBlock
接受类型为AnyObject!
的参数。
我该如何将()->()
强制转换为AnyObject
?
我尝试像这样进行强制转换:handler as AnyObject
,但它给出了一个错误,说:()->()不遵循协议'AnyObject'
reinterpretCast()
了吗? - Romain