Swift4.2 对'的重新声明无效;变量。存储';在更新到Xcode 10.2后的Swift 4.2中

Swift4.2 对'的重新声明无效;变量。存储';在更新到Xcode 10.2后的Swift 4.2中,swift4.2,swift5,xcode10.2,Swift4.2,Swift5,Xcode10.2,我们有一个iOS项目。Swift语言版本为4.2。我们以前在Xcode 10.1中构建它,没有编译错误 更新到Xcode 10.2后(但保持Swift 4.2),该项目现在充满了错误,例如对“variable.storage”的重新声明无效(其中variable是某个变量的名称)。这些错误出现在私有的、延迟初始化的变量旁边,这些变量的名称通常在整个项目中使用,但不是其范围内的重新声明;该错误似乎与消息的存储部分有关。清理和重建并没有解决问题。有什么建议吗 编辑:这些错误只出现在两个类中。还有一个

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

更新到Xcode 10.2后(但保持Swift 4.2),该项目现在充满了错误,例如
对“variable.storage”的重新声明无效
(其中
variable
是某个变量的名称)。这些错误出现在私有的、延迟初始化的变量旁边,这些变量的名称通常在整个项目中使用,但不是其范围内的重新声明;该错误似乎与消息的
存储部分有关。清理和重建并没有解决问题。有什么建议吗

编辑:这些错误只出现在两个类中。还有一个合法的编译错误(Xcode 10.2中新增的,但足够合法),由于所有这些重新声明错误,我错过了这个错误。在胡闹了一会儿之后,我把错误消除了。似乎是编译器中的一个bug


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

我也有同样的错误,这也掩盖了其他一些错误。解决了其他错误后,“variable.storage”的无效重新声明不再发生。

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

@DylanReich这里的问题与Xcode无关;问题在于Swift编译器。如果从命令行或其他平台(例如Linux)使用Swift 5编译器,您会发现相同的结果。(添加swift5标记是因为您在4.2向后兼容模式下使用Swift 5编译器。)