Objective-c代码如何移植为Swift代码 Objective-c代码转移到Swift过程介

2020-01-08 22:30:40丽君
易采站长站为您分析Objective-c代码如何移植为Swift代码,Objective-c代码转移到Swift过程介绍,需要的朋友可以参考下  

迁移工作正好提供了一个重新审视现有 Objective-C 应用程序的机会,也可以通过 Swift 代码来更好的优化应用程序的体系架构,逻辑以及性能。直接的说,你将用先前学到的 mix and match 以及这两个语言间的互操作性来进行增量迁移工作。Mix-and-match 功能使得选择哪些特性和功能来用 Swift 来实现,哪些依然用 Objective-C 来实现变得简单。Swift 和 Objective-C 的互用性又使得将这些功能集成到 Objective-C 变得并不困难。通过这些工具可以开放 Swift 的扩展功能并集成到现有的 Objective-C 项目中而完全不必立刻使用 Swift 重写整个项目。

为你的Objective-C代码做好迁移准备

在开始迁移你的代码之前,请确保你的 Objective-C 和 Swift 代码间有着最佳兼容性。这意味着整理并使用 Objective-C 的现代化特性来优化你的现有项目。为了和 Swift 进行更容易的无缝交互,你的现有代码需要遵循现代编码实践。这里有个简短的适配练习列表,参看Adopting Mordern Objective-C。

迁移过程

最有效迁移代码的方式是基于逐个文件的方式,即一次完成一个类。由于你不能在 Objective-C 中继承 Swift 类, 最好选择一个没有子类的(译者:从类的继承角度来看,应该先从类族树的叶子节点开始,自底向上的进行迁移操作)。你就可以用单个.swift文件来代替对应的.m和.h文件了。你所有的实现代码和接口将直接放进单个 Swift 文件。你不用再创建头文件了;Xcode 会在你需要引用的时候自动生成头文件。(译者:当然这实在xcode内部机制完成的了,对开发者是透明的)

准备工作

•在 Xcode 中:File>New>File>(iOS 或者 OS X) > Other > Swift 为对应的 Objective-C.m 和.h文件创建一个 Swift 类。
•导入相关系统框架。
•如果你希望在 Swift 文件中访问 Objective-C 代码的话,可以填入一个 Objective-C 桥接头。具体的操作步骤,请看 Importing Code from Within the Same App Target。
•为使你的 Swift 类能在 Objective-C 中访问使用,可以继承 Objective-C 类,或者标记上@objc属性。为类指定特殊的名称,以在 Objective-C 中使用,标记上@objc(#name#), <#name#>就是在 Objective-C 中引用的 Swift 类名。 更多信息,请看Swift Type Compatibility。

开始工作

•你可以通过继承 Objective-C 类,适配 Objective-C 协议,或者更多的方式,来让 Swift 类集成 Objective-C 行为。更多信息,请看Writing Swift Classes with Objective-C Behavior