block 分析
1 . block捕获外部变量
可以捕获局部变量,捕获auto类型的变量是值传递,值不变。捕获static类型的变量是指针传递,值可以变化。全局变量不能捕获,全局变量直接访问

2 . block有3种类型
__NSGlobalBlock__(数据区block) 、__NSStackBlock__(盏区block) 、__NSMallockBlock__(堆区block)

3 . 如何区分block的三种类型 ,没有访问auto类型变量的是__NSGlobalBlock__(数据区block),访问了auto类型变量的是__NSStackBlock__(盏区block),盏区block调用copy就是__NSMallockBlock__(堆区block)

4 . 3种block调用了copy只有做了什么?
数据区block调用copy之后什么也不做,盏区block调用copy之后变成__NSMallockBlock__(堆区block)、堆区block调用copy之后引用计数加1

浙公网安备 33010602011771号