iOS-delegate、notification、KVO

2017-08-24  本文已影响64人  doudo

一、delegate

delegation的基本特征是,一个controller定义了一个协议(即一系列的方法定义)。该协议描述了一个delegate对象为了能够响应一个controller的事件而必须做的事情。协议就是delegator说,“如果你想作为我的delegate,那么你就必须实现这些方法”。

1.delegate的优势:

2.缺点:

二、notification

在IOS应用开发中有一个”Notification Center“的概念。它是一个单例对象,允许当事件发生时通知一些对象。

1.优势:

2.缺点:

三、KVO

KVO是一个对象能够观察另外一个对象的属性的值,并且能够发现值的前后变化。

1.优点:

2.缺点:

四、总结:

每一种模式都给对象提供一种方法来通知一个事件给其他对象,而且前者不需要知道侦听者。

根据经验,如果是属性层的事件,不管是在不需要编程的对象还是在紧紧绑定一个view对象的model对象,我只使用kvo对于其他的事件,我都会使用delegate模式如果因为某种原因我不能使用delegate,首先我将估计我的app架构是否出现了严重的错误。如果没有错误,然后才使用 notification

参考资料:http://www.jianshu.com/p/524ac912ec23

上一篇 下一篇

猜你喜欢

热点阅读