3

使用NSNotificationCenter的正確方式是什麼?Monotouch:使用NSNotificationCenter的正確方式

我會知道是否有一種指導方針來註冊和刪除特定班級的觀察員。

NSNotificationCenter.DefaultCenter.AddObserver("NSString", Action) 

用於將對象註冊爲觀察者。我怎樣才能註銷觀察者?我是否必須將所有觀察者保存到數組中的特定類?

預先感謝您。問候。

回答

11

AddObserver方法返回一個NSObject類型的對象。

所以,你這樣稱呼它:

NSObject myObserver = NSNotificationCenter.DefaultCenter.AddObserver("NSString", Action); 

而當你想刪除它,請撥打以下:

NSNotificationCenter.DefaultCenter.RemoveObserver(myObserver); 
+0

謝謝季米特里斯。你知道怎麼可能向觀察者發送信息(對象)? – 2011-04-08 12:47:45

+0

以及註冊和註銷觀察員的正確位置在哪裏? – 2011-04-08 13:11:07

+0

我把它們當作事件來對待。添加在ViewDidLoad中,大部分時間在ViewDidUnload中移除。至於傳遞的信息,沒有看過它,但考慮傳遞匿名方法作爲處理程序。 – 2011-04-08 14:43:39