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

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

概述(点击上方公众号,可快速关注) 来源:oschina-局长 www.oschina.net/news/83314/swift-3-1-released Swift 3.1 已经正式发布了,Swift 3.1 是一个小更新版本,包含标准库的改进。由于 IBM 和社区其他成员的努力,该版本还包括许多关于 Swift 的 Linux 实现的更新。还有一些 Swift 包管理器的更新。 此外,Swift

(点击上方公众号,可快速关注)

来源: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.IteratorElement) throws -> Bool) rethrows -> Self.SubSequence

  /// Returns a subsequence containing the initial elements until `predicate`

  /// returns `false` and skipPing the remainder.

  func prefix.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/


看完本文有收获?请分享给更多人

关注「 iOS大全 」,提升iOS技能

总结

以上是内存溢出为你收集整理的Swift 3.1 发布,包含对标准库的改进全部内容,希望文章能够帮你解决Swift 3.1 发布,包含对标准库的改进所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1024823.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)