美文网首页
链式编程思想

链式编程思想

作者: zhangwg0514 | 来源:发表于2018-04-28 14:37 被阅读0次

# 1,链式编程思想:是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性提高。

2,链式编程特点:方法的返回值是block,block必须返回对象本身(返回block时,block所在的方法调用者对象)block的参数是需要操作的值。

经典:masonry 框架

代码实例:简易计算器

- (void)viewDidLoad {

    [super viewDidLoad];

int result = [CalculateManager zwg_makeCalculates:^(CalculateManager *make) {

        make.add(10).add(10);

        make.div(2);

        make.multi(10).minus(2);

    }];

}

CalculateManager.h 文件中

#import

@interfaceCalculateManager :NSObject

@property (nonatomic, assign) int result;

@property (nonatomic, copy) NSString *name;

- (CalculateManager*(^)(intnum))add;// 加

- (CalculateManager*(^)(intnum))minus;// 减

- (CalculateManager*(^)(intnum))multi;//乘

- (CalculateManager*(^)(intnum))div;//除

CalculateManager.m 文件中

#import "CalculateManager.h"

@implementationCalculateManager

- (CalculateManager *(^)(int))add {

    return ^CalculateManager *(int num) {

        self.result+= num;

        NSLog(@"add : %d",self.result);

        return self;

    };

}

- (CalculateManager*(^)(int))minus {

    return ^CalculateManager *(int num) {

        self.result-= num;

        NSLog(@"minus : %d",self.result);

        return self;

    };

}

- (CalculateManager*(^)(int))multi {

    return ^CalculateManager *(int num){

        self.result*= num;

        NSLog(@"multi : %d",self.result);

        return self;

    };

}

- (CalculateManager *(^)(int))div {

    return ^CalculateManager *(int num) {

        self.result/= num;

        NSLog(@"div : %d",self.result);

        return self;

    };

}

NSObject+Calculate.h 文件

#import

@class CalculateManager;

@interfaceNSObject (Calculate)

+ (int)zwg_makeCalculates:(void(^)(CalculateManager*make))block;

@end

NSObject+Calculate.m 文件

#import "NSObject+Calculate.h"

#import "CalculateManager.h"

@implementationNSObject (Calculate)

+ (int)zwg_makeCalculates:(void(^)(CalculateManager*make))block {

    CalculateManager *calculate = [[CalculateManager alloc] init];

    block(calculate);

    returncalculate.result;

}

相关文章

  • 链式编程思想

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

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

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

  • 链式编程思想简介

    链式编程思想简介

  • 工作iOS技术总结

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

  • Swift 链式编程思想让你的代码更优雅

    Swift链式编程思想 一、知识小集锦 在介绍链式编程思想之前,我们先了解一下我们所知道的一些编程思想: l面向过...

  • Swift 链式编程思想学习

    Swift链式编程思想 一、知识小集锦 在介绍链式编程思想之前,我们先了解一下我们所知道的一些编程思想: l面向过...

  • 编程思想-链式编程

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

  • 链式编程思想

    # 1,链式编程思想:是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性提高。 2,链式编...

  • 链式编程思想

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

  • 链式编程思想

    作为一个iOS程序员基本上都应该接触过Masonry这个自动布局库。这个库能够帮助程序员极大程度的简化自动布局的代...

网友评论

      本文标题:链式编程思想

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