iOS常用设计模式和机制之代理

Posted 陈博文

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS常用设计模式和机制之代理相关的知识,希望对你有一定的参考价值。

Delegate :

1 代理设计模式的使用我们首先需要明白三个要素

  *委托方:委托别人去执行某些操作的人(对象)

  *代理方:被委托区执行某些操作的人(对象)

  *协议:(protocol)委托方需要代理方执行的操作

    > 协议是一套标准(一堆方法的声明),只有 .h 文件。协议的定义以 @protocol 开始,以 @end 结束。

    > 协议中的方法默认是必须实现的,@required 。关键字 @optional 修饰的方法是可选的,课实现也可不实现。

2 delegate 的设计步骤

  步骤1:委托方制定一套协议(在委托方的 .h 文件中),协议中声明委托方需要代理方执行的方法(只有方法声明)

  步骤2 : 委托方声明一个 delegate 属性(assign修饰),存储代理方对象
  @property(strong,nonatomic) id<协议名>delegate  

  步骤3 : 代理方需要遵循协议,并且对协议中的方法进行实现

  步骤4 : 将代理方设置为委托方的代理人(将代理方对象赋值给委托方对象的delegate属性,进行存储)

  步骤5 : 委托方在合适的时机通知代理方对象去执行相应的操作

 


以上是关于iOS常用设计模式和机制之代理的主要内容,如果未能解决你的问题,请参考以下文章

插件化知识详细分解及原理 之代理,hook,反射

常用设计模式之代理(动态代理)

设计模式之动态代理

iOS开发设计模式之代理

Java设计模式之动态代理

OC 常用设计模式和机制之 KVC