1. block帮你保存一份代码,等到恰当的时候调用
void(^block)(int) = ^(int reuslt){
NSLog(@"%d",reuslt);
};
block(2);
2.保存在对象中,恰当的时候才去调用
#import "Person.h"
@property (nonatomic,strong)void(^operation)();
Person *p = [[Person alloc]init];
void(^block)() = ^() {
NSLog(@"执行对象中block");
};
p.operation = block;
p.operation();
3.把block当做方法的的参数,外界不调用,都是方法的内部调用
#import "Person.h"
-(void)eat:(void (^)())block;
#import "Person.m"
-(void)eat:(void (^)())block
{
// 方法的内部调用
block();
}
4.把block当做方法的返回值
#import "Person.h"
-(void (^)(int))run;
#import "Person.m"
-(void (^)(int))run
{
return ^(int metre){
NSLog(@"跑了%d米",metre);
};
}
#import "ViewController.h"
Person *p = [[Person alloc]init];
p.run(2);
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。