1.block特别有用,因为block既包含了回调期间的代码,又包含了执行期间需要的数据
block可同时兼容c,oc和c++这三种语言
2.block的基本用法
(1)用^操作符来声明一个block变量,并指明block述句的开始。block主题部分包含在{}内
int (^myBlock)(int)=^(int num){return num.multiplier;}
(2)block最简单形式
定义格式:
void (^block变量名)()=^(){代码块;}//无参无返回值
优化: void (^block变量名)()=^{代码块;}//无参无返回值
void (^block变量名)(参数类型及个数)=^(形参列表){代码块;}//有参无返回值
返回值类型(^block变量名)()=^(){代码块;return;}//无参有返回值
返回值类型(^block变量名)(参数类型及个数)=^(形参列表){代码块;return;}//有参有返回值
使用格式:
block名();
定义时,把block当成数据类型
例如:
block的定义
void(^myblock)()=^(){
NSLog(@"xxxxxx");
}
block的使用
myblock();
|
|