2012-11-02 18 views
1

我有一個程序需要與很多控制器相互協調。我很困惑要使用哪種機制。有什麼用的正反:Cocoa中的類之間的協調

  • 代表
  • 綁定
  • 通知
  • 鍵值觀察

特別是有使用過的所有地方通知任何問題嗎?我打算這麼做,因爲它允許一個班級發佈一些信息,而不用擔心其他事情。

回答

1

如果您希望您的對象知道需要通知觀察者狀態更改的特定方法,請使用委託。當你有多個觀察者時,通知更合適。這兩個都需要手動干預,即您需要顯式調用委託方法或在狀態更改時發佈通知。

綁定和KVO協同工作,並且是在另一個對象中的狀態發生更改時自動更新一個對象(例如UI)中的狀態的方法。