block的原理是怎样的?本质是什么?
block原理对应代码内部实现
block的变量捕获
block在ARC环境下会自动copy的情况auto:代表自动变量,离开作用域就销毁
static:将变量的地址传到block
block类型
block分为三种类型。global类型不需要太过注意,需要注意stack类型转换为malloc类型。只有block在堆上时我们才可以对其进行管理。
对象类型的auto变量
__block的内存管理
__block的内存管理
blcok对两种变量的实现
封装了函数调用以及调用环境的OC对象
__blcok的作用是什么?有什么使用注意点?
__block做了哪些事情ARC环境下解决循环引用问题
MRC环境解决循环引用问题
block的属性修饰词为什么是copy?使用block有哪些使用注意?
如果不copy的话,那么block就不会在堆空间上,无法对你生命周期进行控制。需要注意循环引用(ARC环境下 strong 、copy没有区别)
block在修改NSMutableArray内容时,需不需要添加__blcok?
不需要。修改内容也是对数组的使用,只有对对象赋值的时候才需要__block。
网友评论