OC中代码块基本用法
代码块类似于C语言中的指向函数的指针变量。
//声明代码块: 返回值 (^函数名)(参数);
void (^block1)(void); //这里定义了一个代码块变量
block1 = ^(void){
NSLog(@"this is a block!");
}; //赋值一个代码块的值给代码块变量
block1(); //调用代码块
//带参数的代码块
void (^block2)(int b,int c) = ^(int b,int c){
NSLog(@"%d",b + c);
};
block2(4,5);
//带返回值的代码块
int (^block3) (int b,int c) = ^(int b,int c){
return b*c;
};
int d = block3(3,6);
NSLog(@"%d",d);
输出结果:
2016-01-25 17:28:15.578 Block[10827:907533] this is a block!
2016-01-25 17:28:15.579 Block[10827:907533] 9
2016-01-25 17:28:15.580 Block[10827:907533] 18
浙公网安备 33010602011771号