代理传值和 block 回调的步骤。

来源:互联网 发布:淘宝购物返利最高的 编辑:程序博客网 时间:2024/06/03 15:45


代理:

一、找代理

1.声明协议和代理方法。
2.定义代理对象属性。(delegate)用 weak 修饰,避免循环引用。
3.如果代理遵从了协议,在合适的时机调用代理方法。
  if (self.delegate respondsToSelector:@selector(<#selector#>)){

  }

二、代理 (获取找代理对象的值)
1.遵从代理协议。
2.将自己成为代理。

3.实现代理方法。


block 回调:


一、原对象
1.重定义 block (跟代理一样,在声明前面重定义)。==(这一步可有可无)
2.定义 block 属性。
3.定义一个方法(将 block 设为方法参数)。(回调对象调用该方法,给block设置执行代码。)
4.在.m 文件中实现(重写)该方法,给 block 赋值,(self.block = 参数 block)
4.在合适的时机调用 block.

二、回调对象
1.调用传值对象声明的方法。(设置 block 的执行代码)

0 0
原创粉丝点击