我最近开始使用NSNotifications:
[[NSNotificationCenter defaultCenter] postNotificationName: selector: object:]; ....我发现对于视图控制器之间的通信来说,这是一个很棒的概念。使用NSNotifications来处理应用程序中的所有通信似乎有点太容易了。
如果我在我的应用程序中使用NSNotifications来完成大部分工作,你认为对其中太多的人来说,开销是多少?
发布于 2011-06-10 00:31:59
我似乎记得曾经读到过NSNotification非常消耗开销,所以大量使用它们可能不是最好的主意。相反,我会考虑采用delegate协议。您可以轻松地创建自己的文件来告诉您的文件执行什么操作以及何时执行。
This site给出了一个非常类似于我用来学习如何创建委托的示例,可能值得研究一下。我过去一直使用NSNotifications,直到我了解了委托,后来我把所有的通知都换成了委托方法
发布于 2011-06-10 00:37:41
关于NSNotification,您需要记住的一件事是它们是一种阻塞机制。因此,虽然发布通知的对象不需要知道谁在接收它,但如果接收者太多,它将不得不处理所有接收者,然后postNotification调用才能返回。这是你必须考虑的事情。
因此,就像@slev所说的,委托是一种更好的方法。仅当您不能使用委托方法时才使用通知。
https://stackoverflow.com/questions/6295999
复制相似问题