自定义代理delegate为什么只能设置成unsafe_unretained,不能是assign;unsafe_unretained属性为什么容易导致指针丢失,丢失后调用就会SIGBUS,如何避免
工程启用ARC后,delegate不能设置成assign属性了,只能是unsafe_unretained么
//.h id __unsafe_unretained _delegate; @property(nonatomic,unsafe_unretained) id <EGORefreshTableHeaderDelegate> delegate; //.m @synthesize delegate=_delegate; if (!_delegate) { return; }
unsafe_unretained的指针应该如何避免对象指向丢失,一旦丢失,即使是上面的if判断调用都会crash,如何处理呢
求教!!!
署长发言人
10 years, 9 months ago