美文网首页
链式语法小试牛刀

链式语法小试牛刀

作者: 志城 | 来源:发表于2017-03-16 17:39 被阅读3次

    ViewController.h文件

    #import <UIKit/UIKit.h>
    @interface ViewController : UIViewController
    @property (nonatomic, assign) int result;
    - (ViewController *(^)(int value))add;
    + (int)manager:(void(^)(ViewController *vc))block;
    @end
    

    ViewController.m文件

    #import "ViewController.h"
    @interface ViewController()
    @end
    @implementation ViewController
    + (int)manager:(void(^)(ViewController *vc))block{
      ViewController *vc = [ViewController new];
      block(vc);
      return vc.result;
    }
    - (ViewController *(^)(int value))add{
      return ^ViewController *(int value){
        _result += value;
        return self;
      }
    }
    - (void)viewDidLoad{
      [super viewDidLoad];
      int result = [ViewController manager:^(ViewController *vc){
        vc.add(1).add(12);
      }];
      //result 为13
      //vc.add返回的是一个block,这个vc.add相当于在调用返回的这个block,需要一个int参数,返回值是ViewController对象本身,然后再.add,重复之前的动作
      
    }
    @end
    

    相关文章

      网友评论

          本文标题:链式语法小试牛刀

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