代码块对象简称”代码块”,是c语言中函数的扩展。实际上是由c语言实现的,所以在各种c作为基础的语言内都是有效的:包括objective-c,c++,objective-c。
代码块本质上和其他变量类似,不同的是,代码块存储的数据是一个函数体,使用代码块时,可以像调用其他标准函数一样,传入参数,并得到返回。
代码块的语法格式:
< returntype > (^blockname) (list of arguments) = ^(arguments) { body; };
- returntype :返回类型;
- blockname :代码块名;
- list of arguments:参数列表;
- body:代码块;
一个简单的例子:
int (^theBlock)(int number) = ^(int number){
return number + number;};
//或者写成
int (^theBlock)(int number);
theBlock = ^(int number){
return number + number;};
//注意:代码块内部一定要以 ; 结束,外部也要以 ; 结束
使用代码块:
int (^squareBlock)(i