Files
the-swift-programming-langu…/source/chapter1/02_version_compatibility.md
BqLin c4e5f11769 翻译细节与 markdown 统一格式修改 (#779)
* 修正全角逗号、句号的使用

* 修正逗号使用

* 修正一处代码空格错误

* 修正斜体范围,引用的空格使用

* 修正示例代码错误

* 修正标点,修正示例代码

* 修正标点

* 修正标点

* 添加 Swift 3.1 的更新

* 修改 Swift 3.0.1 位置

* 添加 Swift 4.0.3 更新

* 添加 Swift 4.1 更新

* 修正示例代码

* 修正 markdown 引用语法,优化翻译语句

* 修正示例代码

* 修正标点使用,优化翻译语句

* 修正示例代码

* 修正示例代码

* 优化翻译语句,修正示例代码语法

* 更新示例代码以符合 Swift 4.1

* 优化 markdown 引用格式的使用

* 优化 markdown 行内代码块使用,代码块与正文使用空格分隔

* 人工校验 markdown 行内代码块使用

* 中英文空格分隔

* 移除行末空格

* 人工校验 markdown 行内代码块使用

* 修正 markdown 无序列表使用
2018-04-14 10:32:56 +08:00

1.1 KiB
Executable File
Raw Blame History

版本兼容性


4.0 翻译:muhlenXi 2017-09-25

4.1 翻译:mylittleswift

本书描述的是 Swift 4.1,是 Xcode 9.2 中包含的默认版本。你可以用 Xcode 9.2 来构建用 Swift 4 或 Swift 3 写的项目。

注意

当 Swift 4 编译器编译 Swift 3 版本的代码时,它识别的语言版本为 3.2 版本。因此,你可以使用像 #if swift(>=3.2) 条件编译块来编写多版本编译器可以并存的代码。

当你用 Xcode 9.2 编译 Swift 3 的代码Swift 4 中大部分功能是可以使用的。也就是说,下面的功能仅仅是 Swift 4 的代码中可以使用:

  • 字符串的子串操作返回的实例是 Substring 类型,不再是 String 类型。
  • 在更少的地方显式的添加 @objc 属性。
  • 同一文件中类型的扩展可以访问这个类型的私有成员。

用 Swift 4 写的项目可以依赖用 Swift 3 写的项目反之亦然。这意味着如果你将一个大的项目分解成多个框架framework你可以每次一个框架地迁移 Swift 3 代码到 Swift 4。