我正在开发iPhone的间隔定时器健身应用程序,同时学习OOP。主定时器对象必须能够通知任何其他感兴趣的事件对象,例如切换到新的间隔或定时器完成等。我应该使用委托还是替代模式?
我的第一个想法是使用委托,但我希望多个对象能够收到这些事件的通知,而且它并没有真正委托任何工作,只是通知他们......所以这看起来不正确。
其他人可以提出另一种模式/方法吗?
我正在开发iPhone的间隔定时器健身应用程序,同时学习OOP。主定时器对象必须能够通知任何其他感兴趣的事件对象,例如切换到新的间隔或定时器完成等。我应该使用委托还是替代模式?
我的第一个想法是使用委托,但我希望多个对象能够收到这些事件的通知,而且它并没有真正委托任何工作,只是通知他们......所以这看起来不正确。
其他人可以提出另一种模式/方法吗?
如果接收者知道发件人,那么您应该给我们Key-Value-ObservingKey-Value-Observing,以便他可以打开其通知。
如果没有给出,更多的解耦NSNotifications将是一个选项,因为发件人不需要知道发送通知的对象。
这听起来像一个很好的候选人NSNotificationCenter
(事件/订阅模式)
这是观察者模式的完美典范。请点击此处:http://en.wikipedia.org/wiki/Observer_pattern
可可的通知机制实现了基于观察者模式消息之一到多播。程序中的对象将自己或其他对象添加到一个或多个通知的观察者列表中,每个通知都由全局字符串(通知名称)标识。想要通知其他对象(即观察对象)的对象会创建一个通知对象并将其发布到通知中心。通知中心确定特定通知的观察者,并通过消息将通知发送给他们。