代码块
2015-11-08 14:33
267 查看
下边是代码块的定义及使用方法
//block作为函数的参数
//函数返回值类型
函数名(block的声明格式)
int
fun(int
(^block)(int
a,int
b))//回调
{
return
block(1,2);
}
//block声明格式:返回值类型(^block名字)(形参列表)
int(^myFun)();
//1.block实现:block
名字
= ^(形参列表){};
myFun = ^(){
return
1;
};
int
a = myFun();//调用:block名称(实参列表),有返回值的block,可以用一个变量进行接收
NSLog(@"%d",a);
//2.有返回值,有形参,声明和实现放一起
int
(^myBlock)(int
a,int
b) = ^(int
a,int
b){
return
a+b;
};
NSLog(@"%d",myBlock(10,20));//调用
//3.返回值类型是NSString
NSString
*(^myBlock1) (NSString
*s) = ^(NSString
*s){
NSLog(@"字符串%@",s);
return
s;
};
myBlock1(@"123456");
//4.有一个局部变量,要在block进行值的改变,必须定义一个__block
+ 变量类型
的变量
__block
int
b = 0;
void
(^myBlock2)() = ^(){
b++;
};
myBlock2();
NSLog(@"%d",b);
//block作为形参
int
(^myBlock4)(int
a,int
b) = ^(int
a,int
b){
return
a+b;
};
NSLog(@"%d",fun(myBlock4));
//block作为函数的参数
//函数返回值类型
函数名(block的声明格式)
int
fun(int
(^block)(int
a,int
b))//回调
{
return
block(1,2);
}
//block声明格式:返回值类型(^block名字)(形参列表)
int(^myFun)();
//1.block实现:block
名字
= ^(形参列表){};
myFun = ^(){
return
1;
};
int
a = myFun();//调用:block名称(实参列表),有返回值的block,可以用一个变量进行接收
NSLog(@"%d",a);
//2.有返回值,有形参,声明和实现放一起
int
(^myBlock)(int
a,int
b) = ^(int
a,int
b){
return
a+b;
};
NSLog(@"%d",myBlock(10,20));//调用
//3.返回值类型是NSString
NSString
*(^myBlock1) (NSString
*s) = ^(NSString
*s){
NSLog(@"字符串%@",s);
return
s;
};
myBlock1(@"123456");
//4.有一个局部变量,要在block进行值的改变,必须定义一个__block
+ 变量类型
的变量
__block
int
b = 0;
void
(^myBlock2)() = ^(){
b++;
};
myBlock2();
NSLog(@"%d",b);
//block作为形参
int
(^myBlock4)(int
a,int
b) = ^(int
a,int
b){
return
a+b;
};
NSLog(@"%d",fun(myBlock4));
相关文章推荐
- 简单的汇编程序应用
- java.net.ConnectException: Connection refused问题解决办法
- PHP面向对象:延迟静态绑定(static关键字)
- Java 反射
- Ubuntu中tftp测试
- python之模块base64
- java基础杂记(一)——public,protected,缺省(default),private
- 在MyEclipse中关联javadoc
- 为Python添加默认模块搜索路径
- matlab ---PSNR
- 最小操作系统的代码解释
- eff java 39条
- Java提示框
- 趣文:编程语言伪简史
- java线程调度方式以及线程的状态转换讲解
- 从头认识java-7.2 接口
- Python __name__ 和 __main__
- PHPCMS调用'N'级栏目下的子栏目
- [Python] Pandas 学习笔记(一)
- Java连接Mysql:通过配置文件