精通blockiOS blockblock

block 在MRC对变量的影响

2016-08-15  本文已影响27人  三只老虎

在MRC:block访问外部的变量

定义一个空的Block-----block保存在全局/常量区

Block内部访问外部局部变量

首先外部变量保存在栈区

当block内部访问外部变量的时候,这个变量依然会在栈区

(地址变化了,内存空间没变)

Block会保存在栈区

当访问完外部变量的时候,这个外部变量依然会在栈区

Block 修改外部变量

外部变量同样会保存在栈区在栈区

在内部去修改外部变量,把外部的变量用__block修饰,才可以修改,修改后的这个变量依然会在栈区在栈区

当变量在block内部修改完成之后,变量保存区没有发生变化,依然在栈区//在栈区

经过上面三步的折腾,

外部变量的地址始终没有发生变化,并且都是在栈区保存的

上一篇 下一篇

猜你喜欢

热点阅读