链式调用
使用JS的人都知道JS存在很多链式调用 obj.a().b().c() ,使用起来十分方便
而且Kotlin、Swift等新型语言也都开始推荐这一种语言特性
OC的简单实现
OC中最常见使用链式调用的就是 SapKit/Masonry 其核心实现方法可以概括成
类-的-(实例方法)-返回-(返回值为类本身的Block) 这种断句方式
核心部分的代码为
1 | //定义一个类 |
细节优化
通过以上定义就可以使用链式调用
如果想省略链式调用里某些括号,整体更加美观,OC可以使用宏来消除
1 |
|
调用的方法就可以产生如下变化
1 | object.start().print(@"text") ---> object.startAlign.print(@"text") |