iOSBlock的一些理解

来源:互联网 发布:程序员接活的网站 编辑:程序博客网 时间:2024/05/16 12:27
Block
最大的作用就是简化了回调过程,以前使用 UIView 的动画,进程要控制动画结束后进行相应的处 理。iOS 4.0 之后,UIView 新增了对 Block 的支持,现在只要使用简单的一个 Block 代码就可以在写动画的代码部分直接添加动画结束后的操作。还有就是在使用

Notification 时候 Block 也非常有帮助。反正多用就可以体会到 Block 的优美了。

对了,使用 Block 要谨记别造成对象互相引用对方导致引用计数进入一个循环导 致对象无法被释放。iOS 5.0 之后的 ARC 也是无法解决该潜在的互相引用的问题的。 所以写 Block 的时候要注意这点。因为 Block 往往在后台自动对一些它引用了的对象 进行 retain 操作。具体形式这里就不距离了,大家在使用的时候多体会一下。 

用处
Blocks 通常代表一个很小、自包的代码片段。因此它们作为封装的工作单元在并 发执行,或在一个集合项上,或当其他操作完成时的回调的时候非常实用。
Blocks 作为传统回调函数的一个实用的替代办法,有以下两个原因:
1 它们可以让你在调用的地方编写代码实现后面将要执行的操作。
因此 Blocks 通常作为框架方法的参数。
2 它们允许你访问局部变量。
而不是需要使用一个你想要执行操作时集成所有上下文的信息的数据结构来
 进行回调,你可以直接简单的访问局部变量。

0 0
原创粉丝点击