在Swift3.0众多提案中 我印象比较深的是 SE-0005 提案 该提案提出了很多有意思的 Object-C API转换到 Swift-API时的优化方案
该提案提出 Object-C API转换到Swift API时 应当采用和遵循Swift API设计指南 而不应当使用Object-C设计指南
这在混合编程时会相当有用 因为它将统一编程风格 代码更加清晰统一
即使不懂Object-C的程序员 也很容易上手使用
比如下面的例子:
object-c API设计指南版本:
let content = listItemView.text.stringByTrimmingCharactersInSet(
NSCharacterSet.whitespaceAndNewlineCharacterSet())
Swift API设计指南版本:
let content = listItemView.text.trimming(.whitespaceAndNewlines)
可以看出遵循Swift API设计指南版本更加清晰
另外该提案还提出了 自动默认参数
- 可空的尾随闭包:可空的闭包参数 默认为nil
- 可空的NSZone: 可空的NSZone 默认为nil
- 选项集Option set types : 如果类型包含Options 默认为[]
- 字典参数名包含options attributes info 默认为[:]
如果遵循这种设计 得到的代码可能如下:
修正之前 修正之后参考链接: SE-0005
欢迎关注个人公众号:DevTipss
DevTipss
网友评论