• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Swift 3.1 发布,包含对标准库的改进

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

来源:oschina-局长

www.oschina.net/news/83314/swift-3-1-released


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

https://github.com/apple/swift-evolution/blob/master/proposals/0045-scan-takewhile-dropwhile.md


Swift 版本的可用性


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


@available(swift, obsoleted: 3.1)

class Foo {

  //...

}


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

https://github.com/apple/swift-evolution/blob/master/proposals/0141-available-by-swift-version.md


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

https://github.com/apple/swift-evolution/blob/master/proposals/0082-swiftpm-package-edit.md


更新内容较多,详情请参阅发布主页

https://swift.org/blog/swift-3-1-released/



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Swift 语言之父 Chris Lattner 宣布离开苹果发布时间:2022-07-13
下一篇:
swift实践-12--UIPickerView发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap