新项目成功运行后立即出现完整项目 Swift 编译错误

Posted

技术标签:

【中文标题】新项目成功运行后立即出现完整项目 Swift 编译错误【英文标题】:Full Project Swift Compile Error Immediately After Successful Run with a New Project 【发布时间】:2018-11-05 15:15:10 【问题描述】:

我在模拟器中成功运行了我的 Swift 4.2 项目。当我停止模拟器,更改一些小代码,然后重新开始时,整个项目爆炸了。我恢复了小的代码更改。但是整个项目还是坏了。

不是来自代码更改,因为我的代码更改是将 bool 设置为 true,但看起来好像一些基本的东西已经坏了。

类似的错误:

    使用未声明的类型“ViewController” “ViewController”类型的值没有成员“view”使用未解析的标识符“performSegue” “ViewController”类型的值没有“存在”成员 'super' 成员不能在根类中引用 方法不会覆盖其超类中的任何方法 “ViewController”类型的值没有成员 'setNeedsStatusBarAppearanceUpdate' 协议需要“Int”类型的属性“hash”;要添加存根吗?

我已经注释掉了几乎每一堂课。

我什至开始了一个全新的项目,导入我的类,成功运行,停止模拟器并立即重新启动,完全相同的事情发生了。

我不确定为什么会这样。有人有什么建议吗?在这一点上,我什至不知道谷歌是什么。

【问题讨论】:

【参考方案1】:

您正在使用未声明的类型ViewController 错误,因为没有名为ViewController 的类型。应该是UIViewController

许多其他错误都取决于这个事实 - 因为ViewController 不是 Cocoa Touch 框架中的类型,所以该类不存在,因此不具有您在其他错误中设置的任何属性.

当然,如果没有看到您的任何代码,很难找到罪魁祸首,但是您将 viewController 声明为 ViewController 而不是 UIViewController 类型的事实可能是其中很大一部分.

【讨论】:

那是因为我替换了UI 部分。但是......首先它是怎么发生的?为什么会编译运行然后丢掉 UI 部分? 不太确定。我很惊讶它一开始就奏效了。这可能是编译器在项目首次运行时所做的一些假设的原因。现在是否按预期工作? 是的,当我将UI 重新添加到我所有的 ViewController 类时,它又开始工作了。 太棒了,很高兴我能帮上忙!如果您想将此答案标记为已批准,这将对我有很大帮助,因为我正试图在 *** 上建立一些声誉。干杯! 是的。我会在时间限制解除后立即这样做。

以上是关于新项目成功运行后立即出现完整项目 Swift 编译错误的主要内容,如果未能解决你的问题,请参考以下文章

VC++2008 项目总是“过时”

Xcode 9.3 编译 Swift 源项目永远不会完成

Swift 项目编译优化

Swift 项目编译优化

添加 watchkit 时带有 cocoapods 的 Swift 项目出现新错误

安装 XCode 6 beta 4 后无法运行旧的 swift 项目