0x6 对象的释放线程要和它处理事情的线程一致
对象A在主线程监听Notification事件,如果这个对象被其它线程释放了。此刻,如果对象A 正在执行notification 相关的操作,再访问对象相关资源就野指针了,发生crash.
0x7 performSelector:withObject:afterDelay:
调用此方法,如果不是在主线程,那么必须要确保当前线程的ruuloop是存在的,performSelector_xxx_afterDelay 依赖runlopp才能执行。另外使用 performSelector:withObject:afterDelay:和 cancelPreviousPerformRequestsWithTarget 组合的时候要小心。
__weak typeof(self) weakSelf = self;
[NSObject cancelPreviousPerformRequestsWithTarget:self];
if (!weakSelf)
{
//NSLog(@"self被销毁");
return;
}
[self doOther];
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ASPKU的支持。
注:相关教程知识阅读请移步到IOS开发频道。










