移除通知的时机

链接

结论

最好是在不需要的时候就移除掉。
如果不是特别苛刻,可以直接在dealloc函数里写。因为dealloc函数一定会被调用的。

dealloc函数中移除的可能问题

由于deallocRunloop结束时会被调用。如果在Runloop调用之前,又有一个通知到来,会造成不可预知的问题。
比如一个VC被pop出去以后,由于网络延迟等原因,在同一个Runloop中,一个通知又被抛出,那么这个被pop的VC会接收到这个通知。如果响应通知的函数对APP内的单例做了操作,那么这个单例的状态就不对了。

iOS9以后不需要在dealloc中移除通知了


忘记移除观察者,是很过crash发生的原因。

posted on 2016-09-11 22:44  花老🐯  阅读(125)  评论(0编辑  收藏  举报

导航