OC中block的简单使用
/*
作用:
Block封装了一段代码,可以在任何时候执行
Block可以作为函数参数或者函数的返回值,而本身又可以带输入参数或返回值
block,在多线程、异步任务,集合遍历,集合排序、动画专场用得多
*/
//block用来保存一段代码
//block的标志 :^
//block跟函数指针很像
//定义block变量没有返回值没有参数
void(^myblock)() = ^ {
NSLog(@"---------");
NSLog(@"---------");
};
//利用block变量调用block内部的代码
myblock(); //运行block
//定以一个block返回值为int函数的参数为int int
int(^sumblock)(int ,int ) = ^(int a,int b){
return a + b;
};
int sum = sumblock(10,11);
NSLog(@"sum = %d",sum);
//利用typedef定义block来创建一个block变量
SumP sumblock1 = ^(int a,int b){
return a - b;
};
int d = sumblock1(10,5);
NSLog(@"d = %d",d);
return 0;
} |
|