【问题标题】:Is it mandatory to convert to Swift 4? should I convert even if it's not mandatory?是否必须转换为 Swift 4?即使不是强制性的,我也应该转换吗?
【发布时间】:2019-02-17 13:07:41
【问题描述】:

是否必须转换为 Swift 4?即使不是强制性的,我也应该转换吗?

我找不到任何地方,如果它是可选的或强制性的,或者它是否会在某个时候被弃用。

【问题讨论】:

    标签: ios swift swift3 swift4


    【解决方案1】:

    正确答案不是强制性的,但强烈推荐。 您没有在您的问题中提到当前是哪个版本的源代码,并且基于 XCODE 以前的历史和演变,对于最近的版本,XCODE 可以很好地处理 swift 版本之间的迁移,所以如果您的代码当前在 swift 3、想要顺利迁移,要抓紧时间。 总的来说,我会说最好的做法是让您的代码尽可能地更新以享受新功能并能够为未来做计划,XCODE 10 还可以编译用 swift 4.2 编写的更快的代码。 记住一些规则:

    • 始终应在私有分支中进行迁移
    • 在采用新版本之前检查结果,运行一些健全性测试和所有单元测试,

    这样可以大大降低风险。

    底线:不是必须的,但你应该这样做

    【讨论】:

      【解决方案2】:

      所有答案都是准确的,而且非常好。对我来说,底线?两件事,一部分是您的问题,另一部分不是。

      (1) 已弃用?绝对地。今天这个问题意味着你要么在谈论 Swift 3 或更早版本,要么是 Xcode 9 或更早版本。为它计划。由于您没有提供有关您的情况的详细信息,因此我要补充一点,我们看不到 Obj-C 的这种“年度版本控制和弃用”。但请记住,整个语言似乎已被弃用。

      (2) 不要为过去“编码”。您标记了 iOS 问题,因此您可能知道这些年来添加和/或弃用的内容....

      添加...自动布局。大小类。集合视图。屏幕尺寸。 iPad 多任务处理。

      贬低... Swift 1. Swift 2. Swift 3 和 OpenGL(很快)。

      如果您正在使用 Swift 为 iOS 和/或编程,那么您必须支付的价格是每年为诸如贬值之类的事情而进行的维护。没有任何矿石细节 - 承认吧,你的问题在细节上非常简单 - 不得不说(今天 Xcode 10 变成了通用汽车,包括 Swift 4.2,它甚至在 Xcode 9 上都不可用)强调 YES,甚至虽然这不是“强制性的”,但如果他们使用 iOS、Swift 而使用 Swift 4,那么他们将致力于一条更艰难的道路。

      【讨论】:

        【解决方案3】:

        如果你不更新,你最终会落伍。

        • Xcode 8 不再支持 Swift 1
        • Xcode 9 不再支持 Swift 2
        • 可能某些 Xcode 10.x 可能会放弃对 Swift 3 的支持
        • Xcode 11.x 将不再支持 Swift 4

        如果您不升级,在某些时候您将无法向商店提交应用程序,并且您需要保留旧版本的 Xcode 以进行任何自动转换。

        让自己免于长期痛苦,并保持最新状态。

        【讨论】:

          【解决方案4】:

          转换为 Swift 4... 不是强制性的。如果您阅读了即将发布的 Xcode 10 的 release notes,您将看到 Xcode 10 将是支持 Swift 3 的最后一个版本。Xcode 发布节奏大约每年运行一个主要版本,因此可以很好地估计 Swift 3 的弃用是 2019 年 9 月。从 Swift 3 迁移到 Swift 4 的难度通常在行业博客上报告为比以前的版本(例如从 Swift 2 迁移到 Swift 3)更容易。

          【讨论】:

            【解决方案5】:

            将您的项目更新到最新的 swift 版本是一个非常好的做法,ex 现在仅使用 xcode 9 构建仅用于应用商店上传,因此如果有 swift 2/3 项目它应该更新,是的,您可以解决swift 3 ,但是对于 swift 2 来说太晚了,同样会发生在 swift 4 上,所以继续前进,因为了解和实施新的语法/正在进行的优化也很令人兴奋,顺便说一句,我们非常接近 Swift 5强>

            【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2023-03-17
            • 1970-01-01
            • 1970-01-01
            • 2017-01-06
            • 1970-01-01
            • 2020-06-04
            • 1970-01-01
            • 2019-04-24
            相关资源
            最近更新 更多