3

我下载了 XCode Beta 8 并将我所有的 swift 代码从 Swift 2.3 转换为 Swift 3。它给我带来了太多的问题,并导致我开始了一个我已经工作了大约 4 个月的项目。如何将我的代码从 Swift 3 转换回 Swift 2.3?

4

3 回答 3

6

在目标开关“使用旧版 swift 版本”的构建设置上,从“否”到“是”。

在此处输入图像描述

这会将编译器切换回正常的 2.x,但不会更改代码本身。范围仅限于为旧版本 swift 上的项目创建的新目标。

不过,我们有一个潜在的问题,即未来版本的 Xcode 中的“遗留版本”可能会发生变化。

于 2016-10-10T11:05:09.630 回答
2

首先保存当前项目的备份。现在!

接下来,您的意思是 Swift 2.2 对吗?

如果您没有备份并且您没有使用版本控制系统,我相信唯一的方法是使用 Xcode 7.3.1 打开您的项目并手动修复错误,以便使代码再次与 Swift 2.2 兼容。

如果你幸运的话

即使你认为你没有使用版本控制,Xcode 也有可能会自动为你创建一个本地 GIT 存储库。要检查这一点,请打开项目的源文件,然后选择View> Version Editor> Show Version Editor

现在主要区域分为 2 列。在分隔 2 个源代码的中央列的底部有一个按钮,其图标类似于 Time Machine)。按下它。

现在,如果在右栏下方您可以选择不同的日期,那么您实际上是在使用 GIT。只需选择转换之前的日期,然后对项目中的每个源文件重复。

于 2016-06-15T09:10:10.460 回答
1

我能感觉得出你。也惨痛地吸取了这个教训!!

什么(有点)对我有用的是在 XCode 7.3.1 中打开项目,这将错误从 230+ 减少到 60。我能够手动恢复到 Swift 2.2 进行更改,例如将数据更改回 NSData。如果你知道 Swift 3 做了哪些改变(谷歌它),那么你可能能够修复你的大部分项目。

祝你好运!

于 2016-07-18T16:48:19.403 回答