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