1.block的基本声明和定义
//block的作用帮你保存一段代码,等到恰当时机的时候才去调用
//声明一个block
void(^block)() = ^() {
NSLog(@"执行block");
};
//调用block
block();
2.block保存到对象中,恰当的时机才去调用
我首先创建一个Person类,在Person类的.h文件声明一个block属性
//block:ARC使用strong,非ARC使用copy
@property(nonatomic,strong)void(^operation)();
我们可以在ViewController里面保存一段代码块到Person的对象
Person*p = [[Person alloc] init];
//把一段代码块保存到对象中
p.operation= ^(){
NSLog(@"执行对象中的block");
};
_p = p;
我们可以在点击屏膜的时候调用这段block
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent*)event
{
_p.operation();
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent*)event
{
_p.operation();
}