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