&lt; <error type =“”>&gt;奇怪的错误</error>

时间:2014-09-21 14:18:12

标签: swift xcode6

我遇到过xcode停止自动完成的情况,如果你试图写一个已定义的变量,xcode会说<< error type>>

这是我的错误:

enter image description here

6 个答案:

答案 0 :(得分:25)

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

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

答案 1 :(得分:10)

这通常表明您的代码目前尚未编译。 Swift经常难以在代码上计算类型,而这些代码本身并不正确。在某些情况下,它是编译器中的一个错误。 AnyObject的使用对编译器来说可能特别混乱,应尽可能避免使用。在这种情况下,AnyObject是必需的,但您应该尝试将其快速转换为特定类型。例如,如果您可以提供帮助,请不要返回[AnyType]

但简单的回答是Swift编译器仍在不断发展,它无法在复杂情况下解决类型问题,特别是在部分或(当前)错误代码上。

请注意,您已将var用于许多应该let的内容。除非您确实需要修改变量,否则您应该更喜欢let。它可以帮助您防止出现多种错误,并且可以更容易地在编译器上进行处理(因为变量的更改方式更少)。

答案 2 :(得分:7)

<<error type>>可能是由Swift编译器找不到头文件造成的。

相同模块:

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

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

1。检查搜索路径

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

2。检查依赖项

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

答案 3 :(得分:5)

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

var name: String = "my name"

而不是:

var name = "my name" as String

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

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