A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© littp 中级黑马   /  2015-12-29 23:21  /  803 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

@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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马