IBOutlets 未在 XCode 6.1 上显示 (6A1052d)

pun*_*sso 1 xcode objective-c ios xcode6 xcode6.1

这是一个相当大的问题:奥特莱斯没有出现在 IB 中。

重现:

1)我将变量声明为 IBOutlet,例如在我的视图控制器的 .h 文件中

@property (nonatomic, strong) IBOutlet UILabel* testlabel;
Run Code Online (Sandbox Code Playgroud)

2)我打开故事板,单击视图控制器。- 如果这是一个新项目,则没有“Outlet”列表。- 如果这是一个已定义插座的旧项目,则“插座”列表包含以前的插座,但不包含我添加的插座。

有没有人遇到同样的问题。这非常重要,因为除非我停止使用 Outlet,否则我基本上无法继续。我在发行说明中找不到有关它的任何信息。

编辑我在 youtube 上添加了一个视频来显示问题,以防我没有正确解释它。如果我忘记了一些明显的事情,我很高兴被嘲笑:) 也就是说,我一直在遵循这些相同的操作,而奥特莱斯也一直在列表中。

编辑2为了清楚起见,我删除了 ivar 声明,因为它似乎引起了大部分关注。

YouTube 上的渠道

编辑3好的,我似乎遇到了之前在这个问题另一个问题上看到的问题。基本上,如果我打开自定义类下拉列表,我只会看到一些“标准”类,例如 UIViewController。如果我选择其中任何一个,我就会得到奥特莱斯。例如,对于 UIViewController 我总是有 view->View。但是,我的项目的课程不在下拉列表中。手动输入名称似乎可行,但实际上不行。一定存在一些索引问题(除非我已经删除了其中的所有内容)

~/Library/Developer/Xcode/DerivedData/
Run Code Online (Sandbox Code Playgroud)

没有成功。如果您想尝试,我已将我的代码放在GitHub上。这并没有为我显示奥特莱斯,但它为其他一些人显示了 - 所以严格来说,这不是代码的“错误”。这更多是一个 XCode 问题。欢迎任何帮助!

编辑4我认为这就是问题所在:看右边。下拉菜单不显示“ViewController.h”类。如果我手动输入它,它似乎可以识别它,但实际上我怀疑它不能识别。以前,我总是在下拉菜单中看到项目类的完整列表。班级列表只是通用的

pun*_*sso 5

我找到了一个“解决方案”,或者说解决方法。删除 XCode 数据是不够的,仅仅重新启动也是不够的。以下序列使 Outlet 神奇地重新出现并正常工作:

  1. 清洁工程
  2. 关闭 XCode
  3. 删除〜/ Library / Developer / Xcode / DerivedData /的所有内容
  4. 重新启动 MacO

通过这样做,当您重新打开 XCode 并重新索引时,它将按预期显示出口。