OC语言--BLOCK
来源:互联网 发布:忽略的网络怎么恢复 编辑:程序博客网 时间:2024/06/11 05:50
一、BLOCK
BLOCK:封装代码,可以在任何时候执行block的标志:^
二、BLOCK与函数
block与函数很像:
*可以保存代码
*有返回值
*有形参
*调用方式一样
三、block的定义和使用:
//没有参数void (^myBolck1)() = ^(){ NSLog(@"aaa"); };myblock1();void (^myBolck2)() = ^{ //省去形参括号 NSLog(@"aaa"); };myblock2();//有参数,没有返回值void (^myBlock3)(NSString *) = ^(NSString *name){ NSLog(@"%@", name); };myBlock3(@"zsling");//有参数,有返回值int (^myBlock4)(int, int) = ^(int a, intb){ return a + b; };int sum = myBlock4(1, 2);/*作用等同于上int (^myBlock4)(int, int);myBlock = ^(int a, int b){ return a + b; };int sum = myBlock4(1, 2);*/
四、block访问外部变量
void main(){ int a = 10; __block int b = 20; void (^myBlock5) = ^{ //a = 13; //默认情况下,block内部不能修改外部的局部变量 b = 30; //外部局部变量加上__block关键字,在block内部可修改此局部变量 NSLog(@"%d", a); //block内部可以访问外部变量 }}
五、利用typedef定义block类型
typedef int(^MyBlock)(int, int); //方法与指向函数的指针类似 typedef int(*Point)(int, int);MyBlock block;block = ^{ NSLog(@"aaa");}MyBlock sumBlock = ^(int a, int b){ return a + b; }
0 0
- OC语言中的block
- OC语言之block
- OC语言--BLOCK
- OC语言之block
- OC语言BLOCK和协议
- OC语言Block和协议
- OC语言——block
- OC语言BLOCK和协议
- 黑马程序员 -- OC 语言 Block
- OC语言中的block数据类型
- OC语言BLOCK和协议
- OC语言中的block数据类型
- 黑马程序员-OC语言-block
- OC语言BLOCK和协议
- OC语言BLOCK和协议
- OC语言BLOCK和协议
- OC语言 block 和 代理模式
- 黑马程序员 OC语言 - 6 block、协议
- 第十七周项目二 地址传递
- Ext4.2 使用rowEditing编辑gridpanel时,判断当前是否处于编辑状态
- iOS不同编码的转换
- PHP开发者应了解的24个库(新)
- 第17周项目5-玩日期时间
- OC语言--BLOCK
- error C2065: CoInitializeEx' : undeclared identifier 解决方法
- JDBC与JNDI这两种连接方式有什么区别?
- Java数学表示式解析工具- jeval
- iPad支持旋转,竖屏启动问题(iOS8)
- 第十七周项目三 胖子伤不起
- sublime text3配置搜狗中文输入
- String的一些方法调用,和Stringbuffer的学习
- oracle jdbc连接数据库的源代码分析之获取连接