加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 05:14:22 所属栏目:百科 来源:网络整理
导读:(点击 上方公众号 ,可快速关注) 来源:oschina-局长 www.oschina.net/news/83314/swift-3-1-released Swift 3.1 已经正式发布了,Swift 3.1 是一个小更新版本,包含对标准库的改进。由于 IBM 和社区其他成员的努力,该版本还包括许多关于 Swift 的 Linux

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

来源: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技能

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读