【发布时间】:2019-03-27 07:25:40
【问题描述】:
我正在运行项目,它非常庞大,它包含近 1000 个文件和 4 个自定义(自己构建的)框架以及通过 Pod 添加的近 10 个其他框架。 我已经通过Migrating Your Objective-C Code to Swift 和Migrate with Swiftify。
我开始按照 Apple 的建议逐个转换每个文件,但 Swiftify 没有成功完成第一次转换,而且还存在依赖性问题。
所以在这个位置看起来我开始在撒哈拉沙漠中行走,在那里我看不到任何终点。
所以我需要一些建议,如何将这种大规模的项目转换为 Swift?
【问题讨论】:
-
如果它在目标 C 中正常运行,那么最好的办法是保持原样并继续使用目标 C,但如果要求快速而不是在添加新模块时做一件事使用 swift 创建它。
-
您可以做的另一件事是在模块中破坏您的项目并开始通过模块方法将其更改为 swift
-
不要将其转换为 Swift。如果正确完成,则无法自动转换为 Swift,您必须重新实现所有内容。在更新文件时转换文件并手动进行。这样,您的项目将一次转换为 Swift 一个文件。使用旧版 Obj-C 没有任何问题。
-
同时保留 Objective-C 和 Swift。在 Swift 中创建新文件。重做/将 Objective-C 转换为 Swift 意味着每次转换都会修复另一个错误。你有单元测试吗?如果 Objective-C 代码有效,就让它这样吧。不要破坏代码。
-
最糟糕的是 - 您不能简单/直接将 Objc 语法转换为 Swift 语法。最好的事情是 - 有很多项目成功运行,就像你的项目一样,混合了两种语言。暂时保持原样,开始使用 Swift 开发新模块。如果需要,稍后开始一一编写 Objc 文件的所有语法。找出 Swift 中现有 Objc 版本的外部依赖替换。希望你很快就能用 Swift 构建整个项目..:)
标签: objective-c swift xcode code-migration