delegate 协议 weak 修饰

2016-08-02  本文已影响64人  阿兹尔

weak :指明该对象并不负责保持delegate这个对象,delegate这个对象的销毁由外部控制器

strong 该对象强引用delegate 外界不能销毁delegate对象 会导致循环引用 retain cycles
A 引用 B B 引用 C C 有引用 A 如果用strong修饰 这个代理就会永远无法释放

如果用 assign 修饰 assign是指针赋值,不对引用计数进行操作,如果使用完毕以后,不把其置为nil,就有可能产生野指针,这时候如果操作 不当 会crash。

而weak使用完就没有了,所以weak更安全,其他也没啥区别

上一篇下一篇

猜你喜欢

热点阅读