发布于 2017-03-28 04:02:08 | 149 次阅读 | 评论: 0 | 来源: 网友投递
Swift编程语言
SWIFT,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C*共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序。
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