掌握Swift 4.0:更快速、更易用的String实现!

发表时间: 2017-09-20 12:02

Swift 4现已正式发布!Swift 4基于Swift 3的优势,提供更强大的稳健性和稳定性,为Swift 3提供源代码兼容性,对标准库进行改进,并添加了归档和序列化等功能。

Swift 4.0是一个主要的语言版本,包含以下通过Swift Evolution进程的语言更改和更新:

String

Swift 4包括一个更快,更容易使用的String实现,可以保留Unicode的正确性,并增加了对创建,使用和管理子字符串的支持。

采集

Swift 4增加了创建,使用和管理集合类型的改进。

归档和序列化

Swift 4支持结构化和枚举类型的归档,并可以对外部格式(如JSON和plist)进行类型安全的序列化。

新的兼容性模式

使用Swift 4,可能不需要修改代码以使用新版本的编译器。编译器支持两种语言模式:

  • Swift 3.2:在这种模式下,编译器将接受使用Swift 3.x编译器构建的大多数源代码。为了提供这种级别的源兼容性,先前存在的API(作为Apple提供的标准库或API的一部分)的更新将不会出现在此模式中。Swift 4中的大部分新语言功能都以这种语言模式提供。

  • Swift 4.0:此模式包括所有Swift 4.0语言和API更改。许多项目将需要一些源迁移,尽管与之前Swift版本之间的许多重大更改相比,源更改数量相当不错。

语言模式由-swift-version标志指定给编译器,它由Swift包管理器和Xcode自动处理。

这些语言模式的一个优点是,可以开始使用新的Swift 4编译器,并以自己的速度完全迁移到Swift 4,并利用新的Swift 4功能,一次使用一个模块。

软件包管理器更新

Swift 4为Swift Package Manager引入了新的工作流功能和更完整的API:

  • 在标记你的第一个正式版本之前,可以轻松开发多个软件包,或者在多个软件包的分支上一起工作。

  • 软件包产品已经正式化,可以控制软件包发布给客户的库。

  • 新的Package API允许软件包指定一些新的设置,使软件包的作者能够更好地控制软件包的构建方式,以及如何在磁盘上组织源代码。总的来说,用于创建包的API现在更清晰和更清晰,同时保留与旧包的源兼容性。

  • 在macOS上,现在Swift软件包的构建发生在一个防止网络访问和文件系统修改的沙箱中,有助于减轻恶意制作的清单的影响。

  • 此外,Swift软件包管理器建立在Swift 3.1(SE-0159)中引入的软件包管理器工具版本控制之上,该软件包允许软件包作者指定构建软件包所需的Swift版本(现在包括Swift 4)。

文档

Swift 4.0的Swift编程语言更新版本现已推出。它也可以在苹果的iBooks商店免费提供。

平台支持

支持Linux的Ubuntu 16.10,Ubuntu 16.04和Ubuntu 14.04的官方二进制文件可供下载。

苹果(Xcode)

为了在苹果平台上开发,Swift 4.0作为Xcode 9的一部分运行。