NSNotifications的开销
我最近开始使用NSNotification
s:
[[NSNotificationCenter defaultCenter] postNotificationName: selector: object:]; ....
我觉得这是一个很好的概念之间的视图控制器之间进行通信。 对于应用程序中的所有通信,使用NSNotification
似乎有点太简单了。
如果我在我的应用程序的大部分工作中使用了NSNotification
,那么您认为太多的开销会是什么?
我似乎回想起NSNotification非常耗费的消耗,所以使用它们中的很多可能不是最好的主意。 相反,我会考虑采用delegate
协议。 你可以很容易地创build自己的文件,告诉你的文件做什么和什么时候做。
这个网站提供了一个非常类似于我用来学习如何创build代表的例子,可能值得研究。 我以前一直使用NSNotifications,直到我了解了代表,然后将所有通知切换到委托方法
你需要记住NSNotification
的一件事是它们是一个阻塞机制。 因此,发布通知的对象不需要知道谁在接收,如果接收者太多,则必须在postNotification
调用返回之前处理所有的postNotification
。 这是你必须考虑的事情。
正如@slev所说,代表们是一个更好的方法。 仅当您不能使用委托方法时才使用通知。