【iOS】链式编程的真正含义

134 阅读1分钟

链式思维

链式编程,顾名思义就是一条链子,一直.下去。

例如person.name(@"张三").age(25).height(175);

这里我们思考一下

1、能.出来的应该是属性 2、属性后面有个小括号,里面传参,应该是block 3、能继续. 那么前一个属性的返回值应该是该对象本身

带着这3点思维,我们试着玩一下链式编程

定义一个Person类,写几个符合链式编程的属性
@property (nonatomic, copy, readonly) Person *(^name)(NSString *);

-(Person *(^)(CGFloat))height;
-(Person *(^)(NSUInteger))age;

解释一下上面的代码:看着是一个属性两个方法,其实你在仔细看下,下面的那两个方法是不是属性的Getter方法呢,所以怎么写,看自己的喜欢了。

使用
Person *person = [[Person alloc]init];
person.name(@"张三").age(25).height(175);

以上就是ios的一个链式编程的思维。

demo下载地址:https://github.com/xiaozhuxiong121/ChainProgramming