Block类型用来封装保存一段代码,跟函数很像,可以保存代码,有返回值,有形参,调用方式一样
例:没有形参
void (^myblock)() = ^{
NSLog(@"");
};
myblock();
有返回值
int (^sumblock)(int, int) = ^(int a, int b) { // 如果没有形参,可以省略小括号
return a + b;
}; // 不要少写分号
int c = sumblock(10, 12);
使用typedef定义block类型
tepydef int(^MyBlock)(int , int )
调用这个类型来定义block类型
MyBlock b1, b2;
b1 = ^(int a, int b){
return a - b;
};
或者
MyBlock b3 = ^(int a, int b){
return a + b;
};
|
|