iOS--block的4种使用情况

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辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容