Blocks中的__block
来源:互联网 发布:qq聊天软件下载 编辑:程序博客网 时间:2024/06/10 16:53
比较以下两段代码输出值
代码一:
@autoreleasepool { int foo = 10; void (^printFoo)(void) = ^(void){ NSLog(@"foo = %i",foo); foo = 20; // 该行在编译时会产生编译错误 }; foo = 15; printFoo(); NSLog(@"foo = %i",foo); }
输出结果:foo = 10
foo = 15
代码二:
@autoreleasepool { __block int foo = 10; void (^printFoo)(void) = ^(void){ NSLog(@"%i",foo); foo = 20; }; foo = 15; printFoo(); NSLog(@"%i",foo); }
输出结果: foo = 15
foo = 20
- 若要在块(Blocks)中对变量进行修改,则变量需要用__block 来标识。
0 0
- Blocks中的__block
- Blocks: __block Variables and Objects
- iOS中的__block 与__weak
- __block
- __block
- __Block
- [iOS] Obnjective-C 中的 __block 是什么意思
- IOS中的__block关键字简单使用
- IOS中的__block关键字简单使用
- [iOS] Obnjective-C 中的 __block 是什么意思
- objective c 中的Blocks语法
- blocks
- Blocks
- Blocks
- Blocks
- Blocks
- Blocks
- Blocks
- navicat快捷方法
- 【Android 开发教程】动态添加Fragments
- POJ2362:Square
- Uva572——Oil Deposits
- 常用的Java工具
- Blocks中的__block
- [读书笔记]Java类加载器
- java内部类详解
- Android init 启动过程分析
- Golang之bytes.buffer学习笔记
- 基于H5的移动端(APP)开发框架的优缺点
- 美好未来在向我们招手(半年总结)
- 勿在头文件中定义static变量
- 信号函数