我想部分地将Objective C项目带到Swift。我寻找最佳实践。将Objective C项目转换为Swift的最佳做法是什么?
我应该从模态类开始还是从哪里开始?此外,该项目是一个开放项目,其他开发人员使用和开发该项目。
我想部分地将Objective C项目带到Swift。我寻找最佳实践。将Objective C项目转换为Swift的最佳做法是什么?
我应该从模态类开始还是从哪里开始?此外,该项目是一个开放项目,其他开发人员使用和开发该项目。
如果你真的必须这样做,那么让我们来看看一些事实:
您将需要转换的代码基本上是由文件文件。当一个文件被转换成Swift时,它将不再可以被Objective-C使用,除非你指定它。你不想指定它,因为当整个代码被迁移时,最后不需要它,所以你应该避免两次在同一个文件上工作。
每个Objective-C文件都可以被Swift使用,只需将其头部添加到桥接头中即可。
某些代码在移植到Swift时可能会发生显着变化,例如枚举和类嵌套,但至少在第一阶段这不是强制性的。
如何去实现它:
您应该被最少使用你的项目的其他部分类,文件和模块启动。看起来iOS
将从视图控制器开始的应用程序。
在您完成了那些最直接的课程后,您可能需要开始将项目分解到每个组尽可能关闭并且尽可能少用其他组的组。此时,您需要将整个团队完全迁移,以便程序正常工作。
因此,首先针对每个屏幕,然后针对每个组,您将能够提交并推送更改,以便其他开发人员可以继续处理该项目。
只是一些想法:
如果这是一个项目,该项目仍处于开发阶段,那么你或许应该排除将最有可能永远不会被修改的模块。移植一个写得很好的代码没有任何好处,只移植你希望继续开发的代码并希望在Swift中完成。
一旦你转换整个项目的目标逻辑可能会有所不同,那么它是在Objective-C中。使用数组,字典,NSNumber
,类型转换将很可能是一个非常痛苦的迁移(取决于你现在如何使用它们)。但即使在迁移之后,您可能会提出无效的代码,除非您完全重构您的代码以便Swift友好。
您是否知道您可以同时使用ObjC和Swift __?没有必要从ObjC转换到Swift。 – Sweeper
是的,我知道这一点,我想部分进行。 – slytrkmn
你能解释一下你的意思吗? – Sweeper