美文网首页
Swift3.0 最有意思的提案(SE-0005)

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

作者: sprint | 来源:发表于2016-05-11 11:08 被阅读402次

    在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 默认为[:]

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

    修正之前 修正之后

    参考链接: SE-0005

    欢迎关注个人公众号:DevTipss

    DevTipss

    相关文章

      网友评论

          本文标题:Swift3.0 最有意思的提案(SE-0005)

          本文链接:https://www.haomeiwen.com/subject/tdzyrttx.html