【问题标题】:Invalid redeclaration of 'variable.storage' in Swift 4.2 after updating to Xcode 10.2更新到 Xcode 10.2 后,Swift 4.2 中“variable.storage”的重新声明无效
【发布时间】:2019-08-20 03:36:06
【问题描述】:

我们有一个 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)恢复了第一类。因此,这些重新声明错误可能只是误导;如果您发现并修复了所有与迁移相关的错误,希望您不会看到任何这些错误。

【问题讨论】:

  • (添加了 swift5 标签,因为您使用的是 Swift 5 编译器,处于 4.2-向后兼容模式。)

标签: swift4.2 swift5 xcode10.2


【解决方案1】:

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

【讨论】:

  • @DylanReich 这里的问题与Xcode无关;问题出在 Swift 编译器上。如果从命令行或其他平台(例如 Linux)使用 Swift 5 编译器,您会发现相同的结果。
【解决方案2】:

删除 pod 框架后我遇到了同样的问题,并且没有其他类型错误。找不到问题所在。尝试使用 Xcode11 swift5.1 ...

【讨论】:

    猜你喜欢
    • 2018-04-01
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-11
    • 1970-01-01
    相关资源
    最近更新 更多