ios 开发-block
来源:互联网 发布:泰坦显卡 知乎 编辑:程序博客网 时间:2024/06/05 20:12
Block变量的声明
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
注: ^被称作”脱字符”
Block变量的赋值
1.定义Block变量,就相当于定义了一个函数。
(1)在类中,定义一个Block变量,就像定义一个函数;
(2)Block可以定义在方法内部,也可以定义在方法外部;
(3)只有调用Block时候,才会执行其{}体内的代码;
(PS:关于第(2)条,定义在方法外部的Block,其实就是文件级别的全局变量)
本类中的Block就相当于类自己服从某个协议,然后让自己代理自己去做某个事情。
2.__block关键字的使用
在Block的{}体内,是不可以对外面的变量进行更改的,语句前面加上__block关键字即可,
然而这样的情况又是允许的:
NSMutableArray *array = [[NSMutableArray alloc]init]; void (^blo)() = ^{ [array addObject:@"Obj"]; };
为什么呢,因为我们只是对截获的变量进行了操作,而没有进行赋值,所以对于截获变量,可以进行操作而不可以进行赋值。
Block中不可以对C语言数组进行操作,原因是:~~~不支持。。。。
0 0
- 【iOS开发】---- block 教程
- ios开发关于block
- iOS开发block用法
- ios开发-block理解
- iOS开发block(一)
- iOS开发block(二)
- iOS开发-Block语法
- iOS开发-Block
- iOS开发 - Block
- iOS开发 Block传值
- ios 开发-block
- iOS开发之Block
- IOS开发之Block编程
- ios开发之Block语法
- IOS开发之block应用
- IOS开发之Block编程
- IOS开发之Block语法
- IOS开发之Block语法
- 指针访问二维数组 数组指针
- activemq无法启动的问题,我的一个小方法
- 五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT) – 整理
- unity3d修改新建脚本模板
- 每天学习一点点——linux命令(4):mkdir
- ios 开发-block
- 第一天
- LeakCanary: 让内存泄露无所遁形
- 计算广告(五):搜索与竞价广告
- 彻底理解ThreadLocal
- File "/usr/lib/python2.7/zipfile.py", line 1141, in writestr self.fp.write(bytes) IOError: [Err
- ubuntu控制台设置
- QString和char*转换方法
- VNC 实现在windows主机显示Linux服务器桌面