1、block 在程序运行中保存一段代码
block标志:^
可以保存代码,有返回值,有形参
2、定义block变量
int (^sumblock)(int, int);
3、block默认可以访问外面的变量,不可以修改外面的局部变量
给局部变量加上_block关键字,这个局部变量就可以在block内部修改
4、
//没有形参没有返回值的block
void(^myblock)() = ^{
NSLog(@"没有返回值的block");
};
//当调用block时才会执行,调用方法:myblock();
//有形参、有返回值的block
int (^sumblock)(int, int) = ^(int a, int b){
return a + b;
};
//调用方法
int c = sumblock(10, 20);
//使用typedef 定义block类型
typedef int (^MyBlock)(int, int);//MyBlock是一个类型
MyBlock sumBlock = ^(int a, int b){
return a + b;
};
block标志:^
可以保存代码,有返回值,有形参
2、定义block变量
int (^sumblock)(int, int);
3、block默认可以访问外面的变量,不可以修改外面的局部变量
给局部变量加上_block关键字,这个局部变量就可以在block内部修改
4、
//没有形参没有返回值的block
void(^myblock)() = ^{
NSLog(@"没有返回值的block");
};
//当调用block时才会执行,调用方法:myblock();
//有形参、有返回值的block
int (^sumblock)(int, int) = ^(int a, int b){
return a + b;
};
//调用方法
int c = sumblock(10, 20);
//使用typedef 定义block类型
typedef int (^MyBlock)(int, int);//MyBlock是一个类型
MyBlock sumBlock = ^(int a, int b){
return a + b;
};