Delegate
浅谈设计模式:Delegate
题记
在项目中我们经常会用到代理的设计模式,这是 iOS 中一种消息传递的方式,也可以通过这种方式来传递一些参数
关于代理,它的原理和使用技巧是什么呢?以及通过代理所涉及到的内存管理等方面的知识又是什么呢?
请大家沉思....
在 iOS 中有很多种消息传递方式,譬如:
1、通知:在 iOS 中由通知中心进行消息的接收和消息广播,是一种一对多的消息传递方式
例如:消息推送、今日头条
2、代理:是一种通用的设计模式,iOS 中对代理支持的很好。由代理对象、委托者、协议三部分组成
例如:传值
3、block:自从 iOS4.0之后引入的一种回调方法,可以将回调处理代码直接写在 block 代码块中,看起来逻辑清晰代码整齐
例如:XXX
4、target action:通过将对象传递到另一个类中,在另一个类中将该对象当做 target 的方式,来调用该对象方法,从内存角度来说和代理类似
5、kvo:NSObject 的 Category-NSKeyValueObserving,通过属性监听的方式来监测某个值的变化,当值发生变化时调用 kvo 的回调方法
......
浙公网安备 33010602011771号