美文网首页
iOS--block的4种使用情况

iOS--block的4种使用情况

作者: 走停2015_iOS开发 | 来源:发表于2016-10-03 22:25 被阅读55次

    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);
    

    相关文章

      网友评论

          本文标题:iOS--block的4种使用情况

          本文链接:https://www.haomeiwen.com/subject/qyyjyttx.html