文章目录
前言
MVVM 的实现可以采用KVO进行数据绑定,也可以采用RAC。— 其实还可以采用block、代理(protocol)实现。
通信间传递消息的几种方式:block、protocol、通知
I block 与protocol 相比的优点
block 的作用:保存一段代码,到恰当的时候调用,很多时候block是代理的一种优化方案
- block比protocol更灵活,更高聚合,低耦合。
例如AFN的网络框架中,就可以将“准备请求参数”的代码和“处理后台返回数据”的代码放在一起。 - block的灵活还体现在他可以当作方法参数以及返回值。
Block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。
在OC中,block是以
()
的形式去执行的,如果方法返回一个block的话,就可以用()
来实现链式编程的效果!