我一打开项目(即不需要构建),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) 帮助!!
最佳答案
我将应用程序拆开,然后单独添加到每个类中,直到再次弹出错误。问题是 View 模型结构中的拼写错误(语法错误),特别是该行:
let editTapped = CocoaAction { return }
应该是:
let editTapped = CocoaAction {
// do stuff
return .empty()
}
我猜测编译器未能在编辑器 Pane 中突出显示错误是一个错误,因此我将报告它(除非有人有相反的观点?),因为整理起来非常耗时。奇怪的是,回滚到以前的工作版本并没有修复它 - 我必须删除整个应用程序,然后从头开始重建它,手动添加文件。奇怪...
关于swift - Xcode 编译器错误未在编辑器中突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56251285/