__block在什么情况下使用
2015-09-08 00:00
267 查看
摘要: 总结__block修饰的作用
以下为转发
API Reference对__block变量修饰符有如下几处解释:
大概意思归结出来就是两点:
1.__block对象在block中是可以被修改、重新赋值的。
2.__block对象在block中不会被block强引用一次,从而不会出现循环引用问题。
对于第2点,主要用在非ARC环境下,解决循环引用的问题,在ARC环境下要用weak来解决循环引用的问题
对于第1点,是指在block中,如果只是用外部的局部变量的值,那不需要修饰;如果需要修改外部的局部变量的值,就需要__block修饰,ARC和非ARC都要。
以下为转发
API Reference对__block变量修饰符有如下几处解释:
//A powerful feature of blocks is that they can modify variables in the same lexical scope. You signal that a block can modify a variable using the __block storage type modifier. //At function level are __block variables. These are mutable within the block (and the enclosing scope) and are preserved if any referencing block is copied to the heap.
大概意思归结出来就是两点:
1.__block对象在block中是可以被修改、重新赋值的。
2.__block对象在block中不会被block强引用一次,从而不会出现循环引用问题。
对于第2点,主要用在非ARC环境下,解决循环引用的问题,在ARC环境下要用weak来解决循环引用的问题
对于第1点,是指在block中,如果只是用外部的局部变量的值,那不需要修饰;如果需要修改外部的局部变量的值,就需要__block修饰,ARC和非ARC都要。
相关文章推荐
- UIcollectionView 加入尾部视图
- httpPost和httpGet的使用示例
- 关情纸尾-----Quartz2D-简介
- Git和GitHub入门教程
- 这是一个半主动被约会的想法
- 敏捷开发之Scrum扫盲篇
- VS2010 测试 -普通单元测试
- 基于客户关系管理软件的战略供应链管理
- 设计模式-工厂设计模式模板
- 设计模式-模板设计模式
- 设计模式-策略模式
- 自定义进度条\文字描边样式\文字上下滚动TextSwithcher的应用
- MongoDB学习思想
- Python中利用Threadpool.map()多线程抓数据
- Redis 数据集合的使用
- spring 配置 c3po
- php中 echo print print_r var_dump的区别
- CSS层叠样式温故第一天
- CSS3:简易的循环弹跳动画
- Freeland团队暑期实践有感