Swift3.0 最有意思的提案(SE-0005)

在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设计指南版本更加清晰

另外该提案还提出了 自动默认参数

  1. 可空的尾随闭包:可空的闭包参数 默认为nil
  2. 可空的NSZone: 可空的NSZone 默认为nil
  3. 选项集Option set types : 如果类型包含Options 默认为[]
  4. 字典参数名包含options attributes info 默认为[:]

如果遵循这种设计 得到的代码可能如下:

Swift3.0 最有意思的提案(SE-0005)_第1张图片
修正之前
修正之后

参考链接: SE-0005

欢迎关注个人公众号:DevTipss

DevTipss

你可能感兴趣的:(Swift3.0 最有意思的提案(SE-0005))