美文网首页
什么是链式编程

什么是链式编程

作者: MT_suny | 来源:发表于2019-11-12 17:18 被阅读0次

1.相信很多小伙伴都用过Masonry.对其中的点操作是不是觉得非常方便简洁呢?
那我们就聊聊是怎么操作的.首先Masonry中的点其实是OC对属性直接访问操作.本质就是getter方法.其中的()是C语言的函数调用操作,那么我们可以把二者结合起来让我们的属性设置放到Block块中返回我们的对象.这样对象的属性就可以一直设置下去...是不是很简单.
举个简单的例子:创建一个自定义的Label
.h文件中的内容

#import <UIKit/UIKit.h>

@interface HRLabel : UILabel
- (HRLabel*(^)(NSString *color))HRcolor; //设置label的字体颜色
- (HRLabel*(^)(NSString *text))HRtext;//设置label的展示文本
- (HRLabel*(^)(NSInteger font))HRfont;//设置label的Font
- (HRLabel*(^)(NSTextAlignment aligenment))HRalignment;//设置label的对齐方式
- (HRLabel*(^)(NSString *numOflines))HRlines;//设置label展示行数
@end

.m 文件中方法实现

#import "HRLabel.h"
#import "HRCommon.h"

@interface HRLabel ()

@end

@implementation HRLabel

- (HRLabel *(^)(NSString *color))HRcolor{
    HRLabel *(^HYlabel)(NSString *) = ^(NSString *color){
        self.textColor = [UIColor getHEXRGB:color];
        return self;
    };
    return HYlabel;
}

- (HRLabel *(^)(NSString *))HRtext{
    HRLabel *(^HYlabel)(NSString *) = ^(NSString *text){
        self.text = text;
        return self;
    };
    return HYlabel;
}

- (HRLabel *(^)(NSInteger))HRfont{
    HRLabel *(^HYlabel)(NSInteger) = ^(NSInteger font){
           self.font = [UIFont systemFontOfSize:font];
           return self;
    };
    return HYlabel;
}

- (HRLabel *(^)(NSString *))HRlines{
    HRLabel *(^HYlabel)(NSString *) = ^(NSString *lines){
             if(lines)self.numberOfLines = [lines integerValue];
             return self;
      };
    return HYlabel;
}

- (HRLabel *(^)(NSTextAlignment))HRalignment{
    HRLabel *(^HYlabel)(NSTextAlignment) = ^(NSTextAlignment aligenmet){
             self.textAlignment = aligenmet;
             return self;
      };
    return HYlabel;
}

是不是很容易理解

这样我们就可以在项目中快乐的使用链式操作了

- (UILabel *)phoneNumL{
    if (!_phoneNumL) {
        _phoneNumL = [HRLabel new].HRcolor(@"333333").HRalignment(NSTextAlignmentLeft).HRfont(15);
    }
    return _phoneNumL;
}

这就简单的链式操作

相关文章

  • iOS 链式编程

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

  • iOS开发之链式编程

    很多小伙伴在开发的过程当中会见到一个很神秘的词--链式编程,那么到底什么是链式编程,链式编程到底有什么神奇之...

  • 什么是链式编程

    1.相信很多小伙伴都用过Masonry.对其中的点操作是不是觉得非常方便简洁呢?那我们就聊聊是怎么操作的.首先Ma...

  • jQuery 链式编程

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

  • 链式编程思想

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

  • 链式编程总结

    链式编程总结 @(iOS) 研究了一下链式编程,但是感觉项目中用处不是很多。 介绍 1.什么时候使用链式编程?在面...

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

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

  • 链式编程思想

    什么是链式编程?顾名思义,链式编程是通过一行代码,实现某种功能。这里比较经典的案例就是masonry框架,相信对于...

  • iOS 链式编程

    之前看到 Masonry 是使用链式编程,感觉很酷,自己简单的写了一个链式编程的示例! 首先简单的来说一下链式编程...

  • iOS-链式编程

    函数式编程------->链式编程 函数式编程: 调用方式 我们最终目的是将函数式编程转换为链式编程:首先将调用方...

网友评论

      本文标题:什么是链式编程

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