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

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

例如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

转载于:https://juejin.im/post/5a312ceef265da431f4b12b8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值