Swift代码自动完成无法正常工作。

5

我安装了Xcode 6.0 beta并下载了iOS8库文档。 但是当我创建一个Swift项目并尝试输入代码时,出现了问题。

func aa(){
    let format = NSDateFormatter()
    var pageData = format.
}

我发现Xcode不能自动填充属性和函数。我有遗漏了什么步骤吗?

问题已解决,键入一个空格可以帮助代码完成。


你能发布整个文件吗?这个函数是在一个类中吗? - Dash
问题是无法执行任何操作,比如UIWindow。 - adeewu
1
我也遇到了同样的问题,空格也没有帮助。 - Guro Khundadze
尝试重新启动Xcode。请记住,这是beta软件,在此阶段很可能会出现故障。如果它一直无法正常工作,请提交错误报告 - jtbandes
4个回答

4
当您更改硬件类型并选择低于iPhone5的设备时,会添加它。
例如,在停止按钮右侧的列表中选择iPhone 6,然后“格式”代码完成将出现。

1
可能与楼主遇到的问题不同,但我也遇到了这个问题(代码补全等取决于所选择的模拟器目标),并已提交了错误报告。答案是在关闭Xcode的情况下删除~/Library/Developer/Xcode/DerivedData/ModuleCache文件夹。 - guywithmazda
我使用了@guywithmazda的解决方案,它再次起作用了,但是,我不想每天都进行删除操作! - gabbler

3

我遇到了同样的问题,并通过删除注释中的非ASCII字符来解决它(在我的问题中,是由Xcode自动生成的一个中文字符“年”)。

顺便说一下,“输入空格可以帮助代码完成”对我不起作用。


我在这个问题上提交了一个错误报告(我的文件中有一个复选标记,导致代码自动完成出现问题),结果被回复说是重复的,所以苹果公司已经知道了。我强调一下,这个复选标记甚至不在我的代码中;就像你一样,我发现只要它在注释中出现,就足以在那之后破坏代码自动完成功能。 - matt

0

你知道吗,我在Xcode 6 Beta 1的Objective C项目中也有类似的经历。看起来Apple稍微改变了默认行为:

Xcode 5.x中,代码总是会在您输入时自动完成,但是在这个早期测试版本中,尝试按下ESC键 - 这将带出您要查找的列表。对我有效。某些代码会自动完成(在Swift和Objective C中),但是有时只有通过按ESC键才能找到我们要找的内容。

我不确定这是否是预期行为还是错误(我猜测是后者)。

我必须承认,在我的系统上,您的代码可以正常工作,不需要使用此技巧。只需确保在Xcode偏好设置-文本编辑下设置了代码完成:

enter image description here


0

这是一个bug,你的代码在我的系统(OS X 10.9)上可以运行。请注意,在输入代码时,我有时会看到代码完成崩溃两秒钟然后恢复。

当尝试第一个名为“swift”的项目时,代码完成崩溃了一个无限循环...beta版本的bug...我只需要将其命名为其他名称来测试该语言。


是的,我的系统是OSX 10.9.3,就像你说的那样,我创建了一个没有Swift和测试的项目,没有令人惊讶的事情发生,太糟糕了。 - adeewu
抱歉我不能提供更多帮助,我观察到这个问题的唯一情况是在尝试在一个名为“swift”的项目中使用Swift时,正如我之前所述。如果您遇到了另一种原因导致的相同问题,也许与您的项目文件路径有关,请尝试在简单的文件路径(例如/Users/your_account/)上使用简单的项目名称,不要包含空格和特殊字符...我知道这似乎很愚蠢,但是对我来说,一个名为“swift”的项目无法工作已经很愚蠢了。此外,为确保您的环境正确,重新启动也不会有害... :-S - noliv
noliv,我在苹果开发者论坛上找到了一些提示,您可以输入一个空格,然后就会看到代码自动完成。我的英语不好,希望您能理解,^_^,谢谢! - adeewu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接