在整个应用程序中发送NSNotifications

时间:2011-01-20 16:17:58

标签: iphone objective-c cocoa-touch

在我的应用程序中来回使用NSNotifications是不是很糟糕?

3 个答案:

答案 0 :(得分:4)

NSNotification的美妙之处在于它允许因果分离。 NSNotification广播公司并不关心谁在听,也不关心他们听到后会做什么。 NSNotification消费者不关心谁发送了消息。这是件好事。

但是,有时您需要将因果关联起来。那时,您希望在查看控制器或键值观察之间使用直接方法调用,或更具体的东西。

我不会做出一个强硬的规则,但如果你无法记录所有的NSNotification,那可能太多了。

答案 1 :(得分:1)

本身不是,但它可能是某些潜在设计问题的症状。

答案 2 :(得分:0)

通常,您只希望在多个对象可能需要通知事件时才使用通知。当只有一个感兴趣的对象时,使用委托模式。在“Cocoa Design Patterns”下的Cocoa基础指南中有一个很好的概述。