0

一旦我打开我的项目(即不需要构建),Xcode 就开始显示编译器错误,但这有点奇怪。一个错误显示在构建时间选项卡中,但是当我打开编译器消息窗口时,三个相同的错误分布在多个文件中。这些错误没有在编辑器窗口中突出显示,因此我无法跟踪它们,但由于它们在我最近没有接触过的文件中被标记,我怀疑问题出在 Xcode 而不是我的代码上。

错误在构建时间窗口中显示为:

Swift Compiler Error - cannot convert value of type '()' to closure result type 'Observable<Void>'

在消息窗口中:

<unknown>:0: error: cannot convert value of type '()' to closure result type 'Observable<Void>'

这些错误分布在消息窗口中的三个文件中,所有这些文件都使用至少一个 RxSwift 依赖项(RxDataSources、RxSwift 和 RxCocoa),并且如上所述,我已经有一两周没有碰过其中的几个了我的依赖项最近没有被修改,所以我可以合理地确定它们不是问题。

我已经完成了所有常规操作(清理、清除缓存、重新启动、检查错误显示设置、回滚到早期版本、更新依赖项、重新安装 Xcode),但错误仍然存​​在,我实际上无法进一步开发,直到可以解决它。说我很沮丧是轻描淡写的!

我正在运行 Xcode 10.2.1 (10E1001) 帮助!!

4

1 回答 1

0

我将应用程序拆开,然后单独添加到每个类中,直到再次弹出错误。问题是视图模型结构中的拼写错误(语法错误),特别是以下行:

let editTapped = CocoaAction { return }

应该是:

let editTapped = CocoaAction {
    // do stuff
    return .empty()
}

我猜编译器未能在编辑器窗格中突出显示错误是一个错误,所以我会报告它(除非有人有相反的看法?)因为整理起来非常耗时。奇怪的是,回滚到以前的工作版本并没有修复它——我不得不删除整个应用程序,然后从头开始重建它,并在我去的时候手动添加文件。诡异的...

于 2019-05-24T20:32:53.490 回答