黑马程序员技术交流社区
标题: block 访问外部变量 [打印本页]
作者: littp 时间: 2015-12-29 23:21
标题: block 访问外部变量
@autoreleasepool{
int m = 10;
NSLog(@"1:m = %d",m);
NSLog(@"2:m addr = %p"); //栈区
//定义变量,并且赋值
//当定义block的时候,block会吧外部变量的值赋值一份
//存放到block的内存中
void (^myBlock)()=^{
NSLog(@"5:m addr = %p",m); //堆区
NSLog(@"3Lin block m = %d");
}
NSLog(@"4:m addr =%p",&m); //栈区
//调用
myBlock();
}
注意:block中的外部变量不可以修改,如果想修改,需要在外部定义的时候前边加上 __block
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |