链式编程:将多个操作通过点号(.)链接在一起成为一句代码,代表作:用OC写的masonry框架
我们平时编码习惯是把事情封装到一个方法中。而链式编程思想则是把要做的事情封装到block,给外界提供一个返回这个Block的方法
链式编程思想方法的特点:
(1)方法的返回值必须是block
(2)block参数:放需要操作的内容
(3)block返回值:方法调用者
链式编程的优点:增加代码可读性,利用block的特点使代码高聚合
示例:实现简易计算器
1、创建计算制造者
2、给NSObject增加一个分类方法
3、外界调用
Swift中体验链式编程
链式代码在 Swift 中有着比 Objective-C 天然的优势
以下部分摘录自webfrogs写的Swift 实践篇之链式 UI 代码
1、避免命名冲突
由于是对UIView做的方法扩展,所以存在命名冲突的隐患。所以先为方法定义一个个性前缀 xr
2、给UIView的子类做链式支持
config 函数的闭包参数在实际使用中,闭包的第一个参数类型可以具体到 UIView 的不同子类上。
实例调用
也可以灵活抽取config共用部分
Swift和OC混用的链式UI编程实践
旧项目里的OC一下子不能迁移到Swift上,可以先在新需求上使用Swift编码
1、先做好OC与Swift混编设置
2、因为旧项目里使用的是Masonry框架做自动布局,所以只需改动一下上文中NamespaceWrapper协议扩展里的layout方法即可
3、链式UI编码实践调用