(Block运用思想)何时用代理 protocol 何时用block
2016-11-24 20:58
351 查看
1.当程序中,有一系列的接口要对外开放时,最好使用@protocol的方式,因为非常清晰,类似于UITableViewDelegate,UITableViewDataSource
2.当需要动态的去替换某个功能模块的时候,最好使用block
例如之前自己封装的一个获取地理位置的工具类。
使用block还有一个优点就是回调代码块定义在委托对象函数内部,是代码更为紧凑。
而且我们不需要定义协议,然后遵守协议这些步骤。
下方理解:
实战经验:我们在委托类中的方法先执行,此时不会回调block,只有我们实现block,此时才会回调,也就是说当实现 举例:success(a,b,c,nil) 上面的这个block的时候才会回调回去,例如我们在委托类中先声明一个block,当执行带有block的这个方法的时候,我们把传进来的block用self.block记录,只有我们实现了self.block这个block的时候才会进行回调,记住这里用记录这个词,当我们多次调用这个self.block就会出现多次的回调,返回多次内容。
总的来说什么时候block或者self.block实现,那么就会回调。实现就是block(a,b,c)。里面传进去东西。
学习心得:
试着block 多次 看返回几次。。。
block执行多少次 就给返回多少次 最主要看的是block的执行 而不是拥有block的这个方法的执行。
2.当需要动态的去替换某个功能模块的时候,最好使用block
例如之前自己封装的一个获取地理位置的工具类。
使用block还有一个优点就是回调代码块定义在委托对象函数内部,是代码更为紧凑。
而且我们不需要定义协议,然后遵守协议这些步骤。
下方理解:
实战经验:我们在委托类中的方法先执行,此时不会回调block,只有我们实现block,此时才会回调,也就是说当实现 举例:success(a,b,c,nil) 上面的这个block的时候才会回调回去,例如我们在委托类中先声明一个block,当执行带有block的这个方法的时候,我们把传进来的block用self.block记录,只有我们实现了self.block这个block的时候才会进行回调,记住这里用记录这个词,当我们多次调用这个self.block就会出现多次的回调,返回多次内容。
总的来说什么时候block或者self.block实现,那么就会回调。实现就是block(a,b,c)。里面传进去东西。
学习心得:
试着block 多次 看返回几次。。。
block执行多少次 就给返回多少次 最主要看的是block的执行 而不是拥有block的这个方法的执行。
相关文章推荐
- 黑马程序员——OC语言——block、protocol、代理模式
- 黑马程序员——10、OC语言(block、protocol和代理模式)
- OC_语法入门_day6_ARC(循环引用)/block代码块(闭包)/protocol协议(接口)/代理模式
- ARC,block,protocol,代理设计模式
- 【iOS开发-57】案例改进:block动画、控件的removeFromSuperview、利用layer设置圆角矩形以及代理模式运用
- OC-10-其他:block、protocol、代理设计模式
- iOS开发运用block时何时会导致内存泄露问题???
- 黑马程序员——OC语言------Block、protocol协议、代理设计
- ObjectC语言基础1—block、protocol、代理设计模式
- iOS开发之OC篇(13)—— Protocol(协议)、Delegate(代理)
- 代理 通知 Block区别
- 运用动态代理来模拟Spring的AOP
- 动态代理在单元测试中的运用
- Hadoop源码分析HDFS ClientProtocol——getBlockLocations
- 调整思想的运用
- 自己写二分法……(普通循环和运用递归思想)
- ios编程思想:委托实现方式1 - 协议方式(protocol)
- IOS回调机制——代理,通知中心以及Block
- 运用CMM思想
- 《iOS开发笔记—两个界面之间的传值(代理,Block)》