block(八)作用域
2017-12-25 11:16
260 查看
//闭包
NSString* s =@"123";
void (^block)() = ^() {
NSLog(@"%@",s);
};
block();// 1
s =@"abc";
block();// 2
结果:
123
123
//__block破坏了闭包,扩大了变量在块结构中的局部作用域为全局的
__blockNSString* s = @"123";
void (^block)() = ^() {
NSLog(@"%@",s);
};
block();//3
s =@"abc";
block();//4
结果:
123
abc
首先,没有__block标识的变量,其状态会在块结构创建的时候,已经保存在了块里了.形成了独立的结构,内部变量外部都无法访问(闭包).利用c语言的解释 1可以理解为block1函数
void block1(){
NSString* s = @"123";
NSLog(@"%@",s);
}
而例2中__block标示的变量,会将变量的作用域变大.s相当于变成全局的作用域.
NSString* s =@"123";
void (^block)() = ^() {
NSLog(@"%@",s);
};
block();// 1
s =@"abc";
block();// 2
结果:
123
123
//__block破坏了闭包,扩大了变量在块结构中的局部作用域为全局的
__blockNSString* s = @"123";
void (^block)() = ^() {
NSLog(@"%@",s);
};
block();//3
s =@"abc";
block();//4
结果:
123
abc
首先,没有__block标识的变量,其状态会在块结构创建的时候,已经保存在了块里了.形成了独立的结构,内部变量外部都无法访问(闭包).利用c语言的解释 1可以理解为block1函数
void block1(){
NSString* s = @"123";
NSLog(@"%@",s);
}
而例2中__block标示的变量,会将变量的作用域变大.s相当于变成全局的作用域.
相关文章推荐
- __block的作用
- Objective-C block作用
- CSS中display:block属性的作用
- CSS中display:block的作用
- __block的作用
- CSS中display:block属性的作用
- 关于block的回调作用及实现
- bootstrap 预定义类 clearfix visible-xs-block的作用
- 在css中用列表设置导航条时block在a标签中的作用
- 谷歌浏览器默认背景颜色解决方法以及display:inline-block;的作用
- 实测DB_BLOCK_CHECKSUM=FULL的作用
- DIV+CSS里display:block的作用
- 通过__block的作用深入研究block
- Block 存储域 copy入堆的作用
- block的作用
- a 的display:block 的作用
- block的回调作用
- iOS中block简介-作用域
- display:block;属性的作用
- iOS中block简介-作用域