1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 Swift 3.1 发布,包含对标准库的改进 下载

本帖由 漂亮的石头2017-03-28 发布。版面名称:软件资讯

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    487,979
    赞:
    47
    Swift 3.1 已经正式发布了,Swift 3.1 是一个小更新版本,包含对标准库的改进。由于 IBM 和社区其他成员的努力,该版本还包括许多关于 Swift 的 Linux 实现的更新。还有一些 Swift 包管理器的更新。

    此外,Swift 3.1 编译器现在可以自动预编译 Objective-C 桥街头,还可以加快混合源代码项目的调试配置构建。

    语言更新:


    Swift 3.1 与 3.0 兼容,它包含以下的更改和更新,其中大部分都经历了 Swift Evolution process

    新的 Sequence 协议成员

    Sequence 协议现在有两个新成员:

    protocol Sequence {
    // ...
    /// Returns a subsequence by skipping elements while `predicate` returns
    /// `true` and returning the remainder.
    func drop(while predicate: (Self.Iterator.Element) throws -> Bool) rethrows -> Self.SubSequence
    /// Returns a subsequence containing the initial elements until `predicate`
    /// returns `false` and skipping the remainder.
    func prefix(while predicate: (Self.Iterator.Element) throws -> Bool) rethrows -> Self.SubSequence
    }

    点此查看更多:SE-0045: Add prefix(while:) and drop(while:) to stdlib

    Swift 版本的可用性

    Swift 3.1 扩展了 @availability 属性以使用 Swift 版本来指示声明的生命周期。例如,在 Swift 3.1 中删除的 API 将被写为:

    @available(swift, obsoleted: 3.1)
    class Foo {
    //...
    }

    点此查看更多:SE-0141: Availability by Swift version

    Linux 实现的改进:


    • Implementation of NSDecimal


    • Implementation of NSLengthFormatter


    • Implementation of Progress


    • Many improvements to URLSession functionality, including API coverage and optimized usage of libdispatch


    • Improved API coverage in NSArray, NSAttributedString and many others


    • Significant performance improvements in Data. See more details here


    • Improved JSON serialization performance


    • Memory leaks fixed in NSUUID, NSURLComponents and others


    • Improved test coverage, especially in URLSession
    包管理器更新


    可编辑的包

    默认情况下,软件包的依赖性存储在工具管理的构建目录中,并且新的 swift package edit 命令允许用户在软件包上 “开始编辑”,将其移动到用户的控制下(进入软件包目录),免除依赖更新,允许用户提交并推送对该包的更改。

    点此查看更多:SE-0082: Package Manager Editable Packages

    更新内容较多,详情请参阅发布主页
    Swift 3.1 发布,包含对标准库的改进下载地址
     
正在加载...