搜索
您的当前位置:首页正文

Swift3.0朝圣之路-objc_setAssociatedO

来源:二三娱乐

在Swift3.0中使用Runtime中的objc_setAssociatedObject绑定Block闭包,编译时会出现报错。出错代码如下:

let key: UnsafeRawPointer! = UnsafeRawPointer.init(bitPattern: "key".hashValue)
objc_setAssociatedObject(self, key, myBlock, .OBJC_ASSOCIATION_COPY_NONATOMIC)

报错Showing Recent Issues Command failed due to signal: Segmentation fault: 11

QQ20161009-0@2x.png

后来尝试绑定字符串,可以运行,那就可能是类型不对,于是将Block转成AnyObject类型,完美解决。
解决方案:

objc_setAssociatedObject(self, key, myBlock as AnyObject, .OBJC_ASSOCIATION_COPY_NONATOMIC)



Top