最近看到了链式编程和函数式编程这两个概念,这两天不是那么的忙 所以也研究了下这两个概念;
在查询链式编程和函数式编程的概念时突然想到了链式编程和函数式编程最典型的代表是Masonry 比较完美的实现了函数式编程和链式编程 例如
[viewOne mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.view).offset(100);
make.centerX.equalTo(self.view.mas_centerX).offset(100);
make.height.mas_equalTo(100);
make.width.mas_equalTo(100);
}];
其实 仔细考虑了下 所谓的链式编程其实就是 在返回值的基础上 继续调用方法,那么问题来了 什么样的返回值才能调用方法 答案是 对象 只要返回对象 然后调用对应的对象方法即可实现 链式编程 例如 最简单的链式编程
- (Person *(^)())eat3;
- (Person *(^)())run3;
[[person eat]