链式编程初探
Sep 29, 2015
前言
最近学习了下masonry的源码,看到有许多如
1 | make.top.equalTo(self.mas_topLayoutGuide); |
这样的代码,对这种链式的写法很感兴趣,所以准备研究一下,学习它的编程思想。
链式编程思想
是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性好。如a(1).b(2).c(3)
链式编程特点
方法的返回值是block,block必须有返回值(本身对象),block参数(需要操作的值)
实战
模仿masonry,写一个加法计算器,练习链式编程。
1.新建类。
2.在CaculatorMaker.h里定义四则运算
1 | @interface CaculatorMaker : NSObject |
3.在CaculatorMaker.m里实现
1 | - (CaculatorMaker *(^)(int))add |
4.定义运算方法
1 | @class CaculatorMaker; |
5.实现
1 | + (int)makeCaculators:(void(^)(CaculatorMaker *maker))caculatorMaker |
6.最后就能随意调用了
1 | int result = [NSObject makeCaculators:^(CaculatorMaker *maker) { |
后记
非常简单的代码,初步的接触了下链式编程,感觉这种编程方式很爽,分享给大家。