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);
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。