第一种直接调用block
^{
NSLog(@"直接调用block");
}();
- 打印
直接调用block
先申明一个block在调用
// 方式二
void(^block)(void) = ^{
NSLog(@"调用block");
};
block();
- 打印
调用block
带参数的block
int(^block)(int,int) = ^(int a,int b){
NSLog(@"执行block");
int c = a * b;
return c;
};
NSLog(@"block结果 - %d",block(1,2));
- 打印
执行block
block结果 - 2
block本质上也是OC对象,其内部有个isa指针 block是封装函数调用以及函数调用环境的OC对象