9.22 利用block实现链式编程

2016-09-22  本文已影响38人  jayck

学习了一下链式编程,总结了一下,个人觉得就是利用block直接按照格式写就行。注意格式写法,其实就是多了个返回值😝

下面用一个例子说明:

首先:新建一个Animal类 (😔 好吧...又是Animal...)

Animal.h文件

- (Animal *(^)(NSString *name))dogname;
- (Animal *(^)(NSString *food))eat;
- (Animal *(^)())run;

Animal.m文件

- (Animal *(^)(NSString *name))dogname
{
    return ^(NSString *name){
        NSLog(@"狗狗的名字叫: %@",name);
        return self;
    };
}

- (Animal *(^)(NSString *food))eat
{
    return ^(NSString *food){
        NSLog(@"狗吃了:%@",food);
        return self;
        
    };
}

- (Animal *(^)())run{
    return ^(){
        NSLog(@"能跑3公里");
        return self;
    };
}

最后我们在Main函数(我没有写Main函数👻),或者ViewController.m里面调用即可。


  Animal *animal = [[Animal alloc] init];
  animal.dogname(@"哈士奇").eat(@"一根大骨头").run();

打印结果如下:

Paste_Image.png
上一篇下一篇

猜你喜欢

热点阅读