block:
将函数及执行上下文封装起来的对象。 内部有isa指针,本质为oc对象。获取局部变量的匿名函数。block大小。
匿名函数是指不带函数名称函数。
block形式:
全局block、栈block、堆block
使用clang查看:
总共4个结构体
这个结构体由两个成员结构体和一个构造函数组成。
结构体中现在保存了一个指针变量,所以任何对这个指针的操作,是可以影响到原来的变量的
block在哪个区取决于是否捕获调用外部变量
1、不使用外部变量的block是全局block
2、使用外部变量并且未进行copy操作的block是栈block
3、对栈block进行copy操作,就是堆block。
如果对栈block进行copy,将会copy到堆区,对栈block进行copy,将会增加引用计数,对全局进行copy,所以什么也不做。
//