利用Block实现链式编程

2016-03-30  本文已影响88人  42vio

1、Person的方法

// 无参数
- (Person *(^)())eat
{
    return ^{
        NSLog(@"吃");
        return self;
    };
}

- (Person *(^)())play
{
    return ^{
        NSLog(@"玩");
        return self;
    };
}

// 有参数
- (Person *(^)( NSString* food ))eatFood
{
    return ^( NSString* food ){
        NSLog(@"吃%@",food);
        return self;
    };
}

2、执行代码

Person *p = [[Person alloc] init];

// 无参数
p.eat().play();

// 有参数
p.eatFood(@"foodName").play();

总结:

- ( 返回Block ) 方法名
{
    return *{
        Block内部是具体执行代码;
        return self;
    };
}
上一篇下一篇

猜你喜欢

热点阅读