Xcode 6 Swift代码完成无法正常工作

时间:2014-09-17 06:40:59

标签: objective-c xcode swift

使用Xcode 6 GM种子我的代码完成已停止工作。它前几天正在工作。我试图让unwindwind segue工作。我制作了一个Objc头文件,并将其指定为Swift类的头文件。

此时我使用Objective-c项目完成代码。但是,不是Swift项目。

我尝试重新启动Xcode,制作一个新的空项目。

12 个答案:

答案 0 :(得分:102)

只需进入user->Library->Developer->Xcode->DerivedData删除文件夹数据(派生数据)和重新启动 Xcode。

答案 1 :(得分:27)

Apple dev论坛的这个修复程序适用于我。我有Xcode 6.1 / Yosemite的自动完成问题。

  1. 退出Xcode。
  2. 重新启动计算机(这是为了清除任何内存中的缓存)。
  3. 删除DerivedData文件夹的内容(〜/ Library / Developer / Xcode / DerivedData),精确运行, a)cd~ / Library / Developer / Xcode / DerivedData /
    b)rm -rf *

    1. (如果步骤1-3不能真正起作用,请尝试这个,因为它在重新启动后重建缓存需要时间)删除文件夹〜/ Library / Caches / com.apple.dt.Xcode的内容,即
      a)cd~ / Library / Caches / com.apple.dt.Xcode
      b)rm -rf *
    2. 现在再次启动Xcode ......

答案 2 :(得分:18)

我遇到了严重的代码完成故障,因为我在.m文件的@end语句之后有一些“注释”,如下所示:

/*
 NSAlertFirstButtonReturn, NSAlertSecondButtonReturn, NSAlertThirdButtonReturn
 */

这些行可以出现在@end语句之前,而不会破坏代码完成。

答案 3 :(得分:7)

从Xcode中删除派生数据有一种更简单的方法(无需打开查找程序或重新启动):

Xcode Organizer - >项目 - > (您的项目) - >删除派生数据

答案 4 :(得分:5)

我刚才遇到了这个问题。自动完成功能不起作用...当我输入例如tableView ....它没有给我可用的不同功能。

我尝试了以下内容,它对我有用。

  1. Xcode Organizer - >项目 - > (您的项目) - >删除派生数据

  2. 删除文件〜/ Library / Developer / Xcode / DerivedData / ModuleCache

  3. 重新启动xcode

  4. 希望这有效

答案 5 :(得分:4)

它不起作用的另一个可能原因是因为它不属于目标成员资格。要解决此问题,请选择您正在处理的文件。然后,转到文件检查器并在目标成员资格部分中,确保检查项目。

Target Membership

答案 6 :(得分:2)

尝试以下操作 - 听起来很傻: 将设备更改为iPhone 6,关闭Xcode,重新打开Xcode并等待索引完成。

答案 7 :(得分:1)

转到Xcode菜单,然后转到Window - >组织者,然后选择项目。选择您的项目,然后按下删除数据旁边的删除按钮 然后重启Xcode

该解决方案在Xcode 6.1上与我合作

答案 8 :(得分:1)

如果您的代码完成问题仅适用于UI类(例如UIImage,UIDevice),那么您只需要添加“import UIKit”。

除非存在“import UIKit”,否则Swift文件不会为UI类完成代码。

答案 9 :(得分:1)

user / Library / Developer / Xcode / DerivedData删除此文件夹中显示的所有文件。之后转到项目名称和清理项目,然后返回到您想要查看建议的文件。输入任何单词及其完成。

答案 10 :(得分:0)

所以你要做的就是确保在右侧的文件检查器视图中,在Target Membership下,选中第一个框。我不确定为什么这会改变一些事情,但我确信有人可以来并提供更完整的答案。

答案 11 :(得分:0)

在我的情况下,某些文件已在文件系统中删除但仍在项目中引用,即红色。只需从Project中删除它们,一切都很好。代码完成开始工作。

另外请注意,关于清除/删除派生数据文件夹的所有上述答案似乎暂时有效,但每当有新的拉动或更新时问题再次启动,因此根本原因是未引用/移动/删除的文件在项目中显示为RED,需要手动清除它们。