2012-11-13 65 views
1

正如我想的,如果我不删除观察者实例解除分配时,下次通知已发布,程序将崩溃,因为未知的选择器异常。如果我不从nsnotification中心删除观察者,会发生什么情况?

但是当我写了一些测试代码,发现它不是这样,每件事情都很好,注意到发生了。我确定调用dealloc方法。

那有什么问题呢?

+1

他们称之为“未定义的行为”是有原因的。 –

+0

那么问题是什么?你删除了观察者,你的代码崩溃了,你编写代码的方式不同并且工作。那么问题是什么? –

+0

我不删除它,没有错,一切都很好。 – Rico

回答

0

苹果正在为你照顾它,但我认为它的好形式无论如何都会移除观察者。这可能会造成问题,并且你知道所有这些都会导致随机错误。

+3

如何“苹果照顾它”,我可以找到一些关于它的文件吗? – Rico

+0

通知正在监听,而不是正在向特定对象发送消息的代理。您只是释放,然后停止收听。 – rooster117

相关问题