代理模式的理解-protocol

   所谓代理,就是自己没有能力做一些事,需要拥有一个能做事的食物,然后只是自己的代理去做。

谁监听谁就是代理!代理是用来监听的。

  遵守协议一般放在.m的延展类中书写。

 

  代理和block的选择:能用代理就能用block  ,能用block尽量用block,不用代理

   逆传 :都是用的代理(子空间传给负空间)

   正传:用set方法(父控件传给子控件)

 

一、请代理

  1. 需要制定一份协议
  2. 制定方法
  3. 定义属性,用来指定谁是他的代理(类型用Id,用weak 修饰)

 二、当代理

    1、首先要遵守协议

    2、实现方法

    3、成为代理

 

三、运用代理的三个步骤:

    1、遵守协议

    2、设置代理

   3、方法的实现

 

注意:

1、一般是谁的代理,代理方法就以谁开头

 

注意:

1、请代理乙方,在定义代理属性的事后,一定用weak

2、请代理一方再使用代理方法的事后,一定更要首先调用下面函数:

self.delegate respondsToSelector@seclector[协议实现函数]

    如果协议中的函数没有实现,就返回0,实现则返回1、

原文地址:https://www.cnblogs.com/gaizuojia/p/4564096.html