如何将完整的ObjectiveC应用程序转换为Swift

我们花了三天的时间,一直下降到两位数。 现在,无需再理会的错误了。 我们必须使用助手视图来并排修复剩余的错误。 大多数错误被证明是对类vars的可选类型的错误猜测。 Converter始终选择隐式展开的变量,而不是可选变量。 否则它将尝试猜测局部变量类型错误。 (您不需要在大多数时候声明变量类型,因为Swift可以推断出它们)。 只是因为我渴望看到该应用程序已构建,所以我选择了一条捷径。 我使用强制展开和强制强制转换只是为了消除构建错误。 我几乎不知道,以后我将为此付出高昂的代价。 一堆var允许转换后(转换器将所有变量都定义为var),我们有了一个内置的应用!

别这么大肆宣传,我们才刚刚开始。 是的,我们的应用正在构建中,但是没有返回任何数据并且在启动时崩溃。 我们花了接下来的100个小时进行调试,以查找所有

  • 空错误
  • if not null检查,则错误,
  • 以及许多可选性修复。

之后,我们的应用程序正在初始化。 那是“差不多”的铸造,还有另一个力解开错误。

有样式指南的原因。 它们可以帮助您按照设计使用的语言来使用该语言,并且可以在创建大多数错误之前将它们阻止。 当时,SwiftLint进行了营救。 您可以在Xcode上运行SwiftLint来查看所有样式指南异常,并快速对其进行修复。 我决心摆脱所有可选性错误,并尽可能与风格指南保持联系。 我甚至启用了加入规则。 修复样式不仅有助于提高可读性,而且还提高了我们对错误的信心。 我们在途中发现了其他错误。 我们摆脱了所有强制展开,强制转换,显式类型声明以及隐式展开的可选内容。 我们尽可能地if letguard let语句成为可能。