代码块
来源:互联网 发布:婚纱摄影网络销售技巧 编辑:程序博客网 时间:2024/04/30 11:01
下边是代码块的定义及使用方法
//block作为函数的参数
//函数返回值类型 函数名(block的声明格式)
int fun(int (^block)(int a,int b))//回调
{
return block(1,2);
int fun(int (^block)(int a,int b))//回调
{
return block(1,2);
}
//block声明格式:返回值类型(^block名字)(形参列表)
int(^myFun)();
//1.block实现:block名字 = ^(形参列表){};
myFun = ^(){
return1;
};
int a = myFun();//调用:block名称(实参列表),有返回值的block,可以用一个变量进行接收
NSLog(@"%d",a);
//2.有返回值,有形参,声明和实现放一起
int (^myBlock)(inta,intb) = ^(inta,intb){
returna+b;
};
NSLog(@"%d",myBlock(10,20));//调用
//3.返回值类型是NSString
NSString*(^myBlock1) (NSString*s) = ^(NSString*s){
NSLog(@"字符串%@",s);
returns;
};
myBlock1(@"123456");
//4.有一个局部变量,要在block进行值的改变,必须定义一个__block + 变量类型的变量
__blockint b = 0;
void (^myBlock2)() = ^(){
b++;
};
myBlock2();
//1.block实现:block名字 = ^(形参列表){};
myFun = ^(){
return1;
};
int a = myFun();//调用:block名称(实参列表),有返回值的block,可以用一个变量进行接收
NSLog(@"%d",a);
//2.有返回值,有形参,声明和实现放一起
int (^myBlock)(inta,intb) = ^(inta,intb){
returna+b;
};
NSLog(@"%d",myBlock(10,20));//调用
//3.返回值类型是NSString
NSString*(^myBlock1) (NSString*s) = ^(NSString*s){
NSLog(@"字符串%@",s);
returns;
};
myBlock1(@"123456");
//4.有一个局部变量,要在block进行值的改变,必须定义一个__block + 变量类型的变量
__blockint b = 0;
void (^myBlock2)() = ^(){
b++;
};
myBlock2();
NSLog(@"%d",b);
//block作为形参
int (^myBlock4)(inta,intb) = ^(inta,intb){
returna+b;
};
int (^myBlock4)(inta,intb) = ^(inta,intb){
returna+b;
};
NSLog(@"%d",fun(myBlock4));
0 0
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 代码块
- 顺序表应用5:有序顺序表归并
- swift学习Day05
- 最简单的视频网站(JavaEE+FFmpeg)
- Nginx配置文件nginx.conf中文详解
- java web servlet配置
- 代码块
- 顺序表应用6:有序顺序表查询
- lightoj 1245 - Harmonic Number (II) 【数学 计数】
- [LeetCode] Single Number II
- android studio下phonegap+jquerymobile hybird开发
- iOS巅峰之深拷贝和浅拷贝区别
- 《leetCode》:Group Anagrams
- 源码编译安装 clang
- 数据结构实验之栈一:进制转换