【问题标题】:<<error type>> Strange Error<<错误类型>> 奇怪的错误
【发布时间】:2014-09-21 14:18:12
【问题描述】:

我遇到过 xcode 停止自动完成的情况,如果您尝试编写已定义的变量,xcode 会显示 &lt;&lt; error type&gt;&gt;

这是我的错误:

【问题讨论】:

  • 好的,你发现了一个 xcode 错误,你在问什么?
  • 需要清理代码伙伴中的一些空白:/哈哈

标签: swift xcode6


【解决方案1】:

这通常表明您的代码当前未编译。 Swift 在计算本身不正确的代码类型时经常遇到麻烦。在某些情况下,这是编译器中的错误。使用AnyObject 可能会让编译器特别困惑,应尽可能避免使用。在这种情况下,AnyObject 是必需的,但您应该尝试将其快速转换为特定类型。例如,如果您可以提供帮助,请不要返回 [AnyType]

但简短的回答是 Swift 编译器仍在不断发展,它不能总是在复杂情况下计算出类型,尤其是在部分或(当前)不正确的代码上。

请注意,您正在使用var 来处理很多应该是let 的事情。除非您确实需要修改变量,否则您应该更喜欢let。它可以帮助您防止多种错误,并且可以让编译器更容易处理(因为变量可以更改的方式更少)。

【讨论】:

  • 感谢您的帮助 Rob,将尽量减少对 [AnyObject} 的使用,希望 Apple 的人能尽快解决这些问题。
  • 我的代码编译完美,但我仍然遇到这个问题,而且我根本没有使用 AnyObject。
  • FWIW 我已经从这个 RW 教程下载了代码,我在 Xcode 8 上遇到了这个问题。虽然我使用的是 Swift 2.x 代码。如果我尝试执行“生成界面”,我只会看到它。否则我在原始来源上看不到它。它会在几乎所有void 函数上产生错误。但是我的代码编译没有任何问题
  • 现在是 2018 年。这仍然会发生。
【解决方案2】:

在 Xcode 6.1 和 iOS 8.1 更新后,我开始看到同样的错误。我发现如果你删除 /Users/username/Library/Developer/Xcode/DerivedData/ModuleCache 路径的 ModuleCache 文件,它会暂时修复错误。而且您不必在执行此操作时关闭 Xcode 或项目。删除文件后,只需稍等 Xcode 重新索引项目文件即可。在那之后,问题大多会在一段时间内得到解决。

由于它不能永久解决问题,因此在 Apple 解决此问题之前,您应避免根据其他答案编写导致此问题的代码。

【讨论】:

  • 这应该是公认的答案。我的项目中的代码没有任何问题,但是代码完成被破坏的事实让我觉得有..我把它放在我的.bash_profile以便于访问:alias clearModuleCache='rm -rf ~/Library/Developer/Xcode/DerivedData/ModuleCache'
  • 这确实对我有用。我还偶然发现了另一个临时解决方案,该解决方案有时不起作用,也可能有用。关闭 XCode 删除派生数据。转到您的项目文件-> 显示包内容并删除 .xcworkspace(它将由 xcode 自动复制)。之后再次打开你的 XCode 项目 -> 清理 -> 构建。这是另一种解决方案,有时也对我有用。
  • 虽然这确实帮助解决了我的问题,但它最终破坏了 Xcode 与我已添加文件的目录的连接。该文件仍然存在于我的 Mac 中。但它不再对 Xcode 可用。我必须创建一个新组(没有文件夹),然后将该组定向到我以前拥有的文件夹。
【解决方案3】:

如果我像这样初始化变量,发现错误消失并且自动完成功能再次起作用:

var name: String = "my name"

而不是:

var name = "my name" as String

【讨论】:

    【解决方案4】:

    &lt;&lt;error type&gt;&gt; 可能是 Swift 编译器找不到头文件的结果。

    同一模块:

    您的源代码是否有某种文件夹结构?如果是这样,请尝试将 Scan All Source Files for Includes 设置为 YES。
    这将使 Xcode 在尝试查找 Header 文件时查看所有这些文件夹。

    嵌入式项目、多个模块等:

    1。检查搜索路径

    查看定义类型的文件的存储位置。 在您的构建设置中,确保此位置包含在搜索路径中。
    如果它是用户标题搜索路径的一部分,请确保 Always Search User Paths 已打开。

    2。检查依赖关系

    看看你的类型的超类等。它们是否也包含在搜索路径中?

    【讨论】:

    • 有时您只需为 Xcode 构建 (⌘+B) 项目即可查看头文件。
    【解决方案5】:

    对我来说,只需重新启动计算机即可解决此问题。

    【讨论】:

      【解决方案6】:

      首先,尝试 CMD-SHIFT-K 和 CMD-R 清理然后运行构建。

      如果这不起作用,请关闭 XCode,删除派生数据,然后重新打开 XCode。

      【讨论】:

        【解决方案7】:

        我最近遇到了同样的问题。我尝试在模拟器上运行整个项目,它解决了所有&lt;&lt;error type&gt;&gt;

        【讨论】:

          猜你喜欢
          • 2016-07-19
          • 1970-01-01
          • 2013-12-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多