美文网首页
链式编程思维

链式编程思维

作者: CharlsPrince | 来源:发表于2017-02-06 21:38 被阅读0次

        链式编程不得不先说下Masonry,之前的项目使用到自动布局,所以引用了Masonry这个库,感觉写这个库的写得特别好,能够将非常繁琐的布局代码使用一句代码实现:

make.right.equalTo(self.view.mas_right).with.offset(-15);

        像这种通过“点”语法,将需要执行的代码块持续执行,这就是链式编程,他能将代码简单块,使代码通俗易懂,书写方便

        像这样equalTo(self.view.mas_right) 通过“()”去调用函数,一般调用完返回的还是这个对象本身,就是函数式编程。

1、实现函数式 + 链式(无参)

UIView+Chained.h :

- (UIView *(^)())ch_toRed;

UIView+Chained.m :

- (UIView *(^)())ch_toRed {

     return ^() {

           self.backgroundColor = [UIColor redColor];

           return self;

     };

}

调用:

aView.ch_toRed();

2、实现函数式 + 链式(带参)

UIView+Chained.h :

- (UIView *(^)(CGFloat,CGFloat,CGFloat,CGFloat))ch_frame;

- (UIView *(^)(UIColor *))ch_backgroundColor;

UIView+Chained.m :

- (UIView *(^)(CGFloat, CGFloat, CGFloat, CGFloat))ch_frame {

          return ^(CGFloat x, CGFloat y, CGFloat width, CGFloat height) {

                 self.frame = CGRectMake(x, y, width, height);

                return self;

       };

}

- (UIView *(^)(UIColor *))ch_backgroundColor {

         return ^(UIColor *value) {

               self.backgroundColor = value;

              return self;

      };

}

调用:

aView.ch_frame(10,100,100,100).ch_backgroundColor([UIColor redColor]);

       链式编程的思维一般是以block作为返回参数,最终以对象本身返回,还有,链式编程书写的时候没有智能提示,所以可以编写一些宏来解决,最后,看看效果:

链式编程效果

相关文章

  • 链式编程思维

    链式编程不得不先说下Masonry,之前的项目使用到自动布局,所以引用了Masonry这个库,感觉写这个库...

  • jQuery 链式编程

    jQuery 链式编程 链式编程原理 链式编程代码示例 隐式迭代

  • 链式编程思想

    链式编程思想 链式编程思想

  • iOS 链式编程

    链式编程 主要介绍链式编程原理,以及如何创建链式编程 编程范式 在介绍链式编程之前,首先来了解下什么是编程范式。 ...

  • ReactiveObjC入门

    ReactiveObjC基础用法 iOS开发三种编程方式(响应式编程、函数编程、链式编程),函数编程最常用,链式编...

  • 工作iOS技术总结

    链式编程、函数式、面向接口编程思想 iOS 之ReactiveCocoa 链式编程2 WKWebView的缓存处理...

  • 一、链式编程思想、响应式编程思想和函数式编程

    1. 链式编程思想 链式编程思想的核心就是方法的返回值必须是Block,Masonry是链式编程思想应用的代表。 ...

  • 链式编程和函数式编程的简单理解

    链式编程 此前看到SnipKit中运用了很多链式编程的代码,感觉非常好用:例如: //此段就是链式编程的典型代码m...

  • 编程思想-链式编程

    编程思想-链式编程 链式编程(链式调用)的主要表现是支持点语法结构的代码,代表库可以参照 Masonry 或 Sn...

  • 链式编程

    链式编程

网友评论

      本文标题:链式编程思维

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