代理的使用

  许多时候对代理的使用原理不太明了,今天就好好分析下代理

一:什么是代理?

把A对象要做的事情委托给B对象去做。那么B对象就是A对象的代理

二:代理的作用?

就是帮助 A 去做一些 A 委托 B 的一些事情(实现代理方法)

三:代理的使用场合

代理适合一个对象对应一个对象时使用,即嵌套层次比较简单时

网上借鉴一张图片(谢谢原图作者)

以上都是可以使用代理的情况,都是把对象 B 作为 对象A 的代理

====================================================

好的,重点来了

代理的使用步骤:

1.先明确谁是代理?委托内容是什么?

2.定义代理协议:控件类名 +Delegate  (@protocol协议名<NSObject>)

3.定义代理方法:

  a.一般代理方法都是@optional(可实现也可不实现)

  b.代理方法名一般为控件名

  c.至少包含一个参数,把控件自身传出去

4.设置代理对象(delegate)(比如:cell.delegate = xxxx;)

  a.delegate 遵守协议

  b.delegate 实现协议里该实现的方法

5.在恰当时刻调用代理方法用来通知代理发生什么事情(调用之前判断代理对象是否实现了该代理方法)

有什么描述不清楚的,互相交流,谢谢!

原文地址:https://www.cnblogs.com/yazheng/p/4976100.html