代理:
一、找代理
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 的执行代码)