Delegate

浅谈设计模式:Delegate

题记

在项目中我们经常会用到代理的设计模式,这是 iOS 中一种消息传递的方式,也可以通过这种方式来传递一些参数

关于代理,它的原理和使用技巧是什么呢?以及通过代理所涉及到的内存管理等方面的知识又是什么呢?

请大家沉思....

在 iOS 中有很多种消息传递方式,譬如:

1、通知:在 iOS 中由通知中心进行消息的接收和消息广播,是一种一对多的消息传递方式

例如:消息推送、今日头条

2、代理:是一种通用的设计模式,iOS 中对代理支持的很好。由代理对象、委托者、协议三部分组成

例如:传值

3、block:自从 iOS4.0之后引入的一种回调方法,可以将回调处理代码直接写在 block 代码块中,看起来逻辑清晰代码整齐

例如:XXX

4、target action:通过将对象传递到另一个类中,在另一个类中将该对象当做 target 的方式,来调用该对象方法,从内存角度来说和代理类似

5、kvo:NSObject 的 Category-NSKeyValueObserving,通过属性监听的方式来监测某个值的变化,当值发生变化时调用 kvo 的回调方法

......

 

posted on 2016-03-28 14:40  帅的好离谱  阅读(117)  评论(0)    收藏  举报

导航