本书介绍了Swift 4.0,它是Xcode 9中包含的Swift的默认版本。您可以使用Xcode 9构建以Swift 4或Swift 3编写的程序。
注意,当Swift 4编译器使用Swift 3代码时,它将其语言版本标识为3.2。 因此,您可以使用#if swift(> = 3.2)等条件编译块来编写与多个版本的Swift编译器兼容的代码。
当您使用Xcode 9构建Swift 3代码时,大多数新的Swift 4功能都可用。 也就是说,以下功能仅适用于Swift 4代码:
- 子字符串操作返回Substring类型的实例,而不是String。
- @objc属性隐式添加在较少的位置。
- 扩展到同一文件中的类型可以访问该类型的私有成员。
以Swift 4编写的目标取决于以Swift 3编写的目标,反之亦然。 这意味着,如果您有一个大型项目分为多个框架,则可以将代码从Swift 3迁移到Swift 4一个框架。