1>将block作为参数类型传给函数
2>用block作为参数与可以将调用者自己写的代码传到函数内部去执行
声明方法
typedef void (^newType)(void);
void testp(newType type){
type();
NSLog(@"我是test");
}
void testP2(void(^block1)(void)){
block1();
NSLog(@"我是testP2");
}
void testp3(int(^block1)(int,int)){
int sum=block1(5,6);
NSLog(@"我是TestP3 sum=%d",sum);
}
调用如下:
newType newType2=^{
NSLog(@"我是void类型的block");
};
testp(newType2);
testp(^{
NSLog(@"我是代码段");
});
testP2(^{
NSLog(@"我是代码段Test2的");
});
testp3(^int (int num1,int num2){
return num1+num2;
});