关于Block
底层结构是OC对象
封装了函数及函数的执行环境
关于变量捕捉
访问局部变量就会捕捉,全局变量则不会
静态变量的捕捉方式:引用传递或地址传递
关于在Block内修改捕获的变量的值
需要用__block修饰
关于__block
用__block修饰的对象将被包装为一个OC对象
暴露给程序员的那个变量也正是这个结构中的
关于Block的类型
GlobalBlock
没有访问auto变量,换句话锁其访问的变量在全局区
StackBlock
访问了auto变量
MallocBlock
stackblock被拷贝到对上就是MallockBlock