2010-06-25 162 views
0

当视图必须监听模型上的更改并更新视图时,在其他语言中,我们必须创建并实现观察者方法。该视图在该观察者方法上注册自己并等待通知。NSNotificationCenter vs自定义观察者协议

这可以在Obj-C中用协议和注册对象来完成。当某些值发生变化时,我们遍历观察者列表并执行一个选择器,如果类实现的话。非常简单。

但是Obj-C有一个内置的通知系统,可以减轻重量。简单地说,一个类将自己注册为某些通知的观察者,并且模型在更新某个值时发布此通知。

我的问题是:有什么更好的方法来实现观察者模式?使用NSNotificationCenter或制作我们的自定义协议? NSNotificationCenter的计算时间长是否影响应用程序的执行?或者干脆不使用NSNotificationCenter是怀旧的问题?

+0

可能重复(http://stackoverflow.com/questions/1927965/nsnotificationcenter-vs-delegation-using-protocols) – emenegro 2010-06-25 12:27:10

回答

相关问题