本文要将block的以下机制,并配合具体代码详细描述: block 与 外部变量 block 的存储域:栈块.堆块.全局块 定义 块与函数类似,只不过是直接定义在另一个函数里,和定义它的那个函数共享同一个范围内的东西. 访问外部变量 堆块内部,栈是红灯区,堆是绿灯区. 根据块的存储位置,可将块分为全局块.栈块.堆块.这里先主要针对堆块讲解. Block不允许修改外部变量的值.Apple这样设计,应该是考虑到了block的特殊性,block也属于“函数”的范畴,变量进入block,实际就是已经改变