首页 > 解决方案 > 更新到 Xcode 10.2 后,Swift 4.2 中“variable.storage”的重新声明无效

问题描述

我们有一个 iOS 项目。Swift 语言版本是 4.2。我们之前在 Xcode 10.1 中构建它,没有编译错误。

更新到 Xcode 10.2(但保留 Swift 4.2)后,该项目现在充满了诸如(某些变量的名称Invalid redeclaration of 'variable.storage'在哪里)之类的错误。variable这些错误出现在私有的、延迟启动的变量旁边,这些变量的名称在整个项目中都很常用,但不是它们范围内的重新声明;该错误似乎与storage消息的一部分有关。清理并重建并没有解决问题。有什么建议么?

编辑:这些错误只出现在两个类中。由于所有这些重新声明错误,我还错过了另一个合法的编译错误(Xcode 10.2 中的新错误,但足够合法)。在搞砸了一些**之后,我得到了错误消失。似乎是编译器中的一个错误。

** 我的混乱步骤是(1)取消嵌套我遇到这些错误的第一个类,(2)创建一个与非编译类具有相同内容的新类并指向它的引用,(3)注释掉失败的类,(4)找到并修复了合法的编译错误。在这一点上,我不需要与另一个同样给出重新声明错误的类混在一起;现在编译的代码。所以(5)恢复了第一类。因此,这些重新声明错误可能只是误导;如果您发现并修复了所有与迁移相关的错误,希望您不会看到任何这些错误。

标签: swift4.2swift5xcode10.2

解决方案


我有同样的错误,这也掩盖了一些其他错误。一旦我解决了其他错误,Invalid redeclaration of 'variable.storage'就不再发生了。


推荐阅读