美文网首页
Object-C简单实现链式编程

Object-C简单实现链式编程

作者: 河西走廊 | 来源:发表于2020-09-24 18:36 被阅读0次

Object-C实现链式编程

链式编程,多用于给对象赋值操作,可以一直.下去,方便赋值操作

例如:

[FQTestView new].fq_frame(CGRectMake(100, 100, 100, 50)).fq_bgColor([UIColor redColor]).fq_addView(self.view);

Object-C的链式编程是基于block,实现的,通过在block内做赋值操作,同时block 返回的是当前对象。因为返回的是当前对象,所有可以继续调用当前对象的方法

代码示例:

自定义一个view,叫 FQTestView

FQTestView.h代码

@interface FQTestView : UIView

/** <#注释#> */
@property (nonatomic, copy, readonly) FQTestView *(^fq_frame)(CGRect frame);

/** <#注释#> */
@property (nonatomic, copy, readonly) FQTestView *(^fq_bgColor)(UIColor *color);

/** <#注释#> */
@property (nonatomic, copy, readonly) FQTestView *(^fq_addView)(UIView *superView);

@end

FQTestView.m代码

@implementation FQTestView

- (FQTestView * _Nonnull (^)(CGRect))fq_frame{
    return ^(CGRect frame){
        self.frame = frame;
        return self;
    };
}

- (FQTestView * _Nonnull (^)(UIColor *))fq_bgColor{
    
    return ^(UIColor *color){
        self.backgroundColor = color;
        return self;
    };
}

- (FQTestView * _Nonnull (^)(UIView * _Nonnull))fq_addView{
    
    return ^(UIView *superView){
        [superView addSubview:self];
        return self;
    };
}

@end

在ViewController 的调用如下

- (void)viewDidLoad {
    [super viewDidLoad];
    
    [FQTestView new].fq_frame(CGRectMake(100, 100, 100, 50)).fq_bgColor([UIColor redColor]).fq_addView(self.view);
    
}

好了,是不是很简单

相关文章

  • Object-C简单实现链式编程

    Object-C实现链式编程 链式编程,多用于给对象赋值操作,可以一直.下去,方便赋值操作 例如: Object-...

  • ELKChainedAlloy基于OC的链式编程框架

    基于Object-C的链式编程框架源码及 cocoapods 库在这里:ELKChainedAlloy链式编程框架...

  • Objective-C实现链式编程语法(DSL)

    Objective-C实现链式编程语法(DSL) Objective-C实现链式编程语法(DSL)

  • iOS 链式编程

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

  • iOS 链式编程简单的使用

    iOS 链式编程简单的使用 链式编程-顾名思义,链式,连贯性为其主要特征,放在编程领域来讲,说简单点就是把一系列的...

  • 几种编程思想在iOS中的实现:(二)函数式编程

    前期回顾 (一)链式编程 在上一篇文章——(一)链式编程的最后有提到,尽管例子中实现了所谓的链式编程,但是在使用(...

  • iOS链式编程及函数式编程

    提到链式编程和函数式编程,最典型的代表是Masonry 比较完美的实现了函数式编程和链式编程。例如 ``` [vi...

  • 理解Object-c链式编程

    首先理解什么是链式编程:链式编程,主要通过点‘.’来连接不同的函数调用 (这么定义,我也不清楚这么定义对不对,感觉...

  • 链式文件生成器原理分析(一)

    在OC里面实现链式编程,可以使用返回调用者自身来实现。但是类有很多,每个类也有很多方法,假如要实现链式编程,则需要...

  • iOS 链式编程实战

    链式编程最难得地方是想通,实现是如此的简单: 例一: UIAlertController弹窗 例二:圆角阴影 例三...

网友评论

      本文标题:Object-C简单实现链式编程

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