我正在開發iPhone的間隔定時器健身應用程序,同時學習OOP。主定時器對象必須能夠通知任何其他感興趣的事件對象,例如切換到新的間隔或定時器完成等。我應該使用委託還是替代模式?
我的第一個想法是使用委託,但我希望多個對象能夠收到這些事件的通知,而且它並沒有真正委託任何工作,只是通知他們......所以這看起來不正確。
其他人可以提出另一種模式/方法嗎?
我正在開發iPhone的間隔定時器健身應用程序,同時學習OOP。主定時器對象必須能夠通知任何其他感興趣的事件對象,例如切換到新的間隔或定時器完成等。我應該使用委託還是替代模式?
我的第一個想法是使用委託,但我希望多個對象能夠收到這些事件的通知,而且它並沒有真正委託任何工作,只是通知他們......所以這看起來不正確。
其他人可以提出另一種模式/方法嗎?
如果接收者知道發件人,那麼您應該給我們Key-Value-ObservingKey-Value-Observing,以便他可以打開其通知。
如果沒有給出,更多的解耦NSNotifications將是一個選項,因爲發件人不需要知道發送通知的對象。
這聽起來像一個很好的候選人NSNotificationCenter
(事件/訂閱模式)
這是觀察者模式的完美典範。請點擊此處:http://en.wikipedia.org/wiki/Observer_pattern
可可的通知機制實現了基於觀察者模式消息之一到多播。程序中的對象將自己或其他對象添加到一個或多個通知的觀察者列表中,每個通知都由全局字符串(通知名稱)標識。想要通知其他對象(即觀察對象)的對象會創建一個通知對象並將其發佈到通知中心。通知中心確定特定通知的觀察者,並通過消息將通知發送給他們。