assign 和 weak 区别?

2016-07-10  本文已影响53人  zcaaron

assign

自动生成: __unsafe_unretained  
1.不是强引用 不能保住OC对象的命
2.如果引用的OC对象销毁了,指针并不会被自动清空,依然指向销毁的对象(很容易产生野指针错误 : EXC_BAD_ACCESS)

weak

生成:  _Nullable__weak
1.不是强引用,不能保住OC对象的命
2.如果引用的OC对象销毁了,指针被自动清空(变为nil),不再指向销毁的对象(永远不会产生野指针错误)

用途

上一篇 下一篇

猜你喜欢

热点阅读