在XCode 6.1上没有显示IBOutlets(6A1052d)

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

重现:

1)我声明一个variables是IBOutlet,例如在我的视图控制器的.h文件

@property (nonatomic, strong) IBOutlet UILabel* testlabel; 

2)我打开故事板,点击视图控制器。 – 如果这是一个新项目,没有“Outlets”列表。 – 如果这是一个已经定义出口的旧项目,“出口”列表包含以前的出口,但不是我添加的出口。

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

编辑我在YouTube上添加video显示问题,以防我没有正确解释。 如果我忘记了一些明显的东西,我很高兴能够被嘲笑:)这就是说,我一直在遵循这些相同的行动,奥特莱斯一直在列表中。

编辑2为了清楚起见,我已经删除了伊娃宣言,因为它似乎得到最多的关注。

Youtube上的奥特莱斯

编辑3好吧,我似乎遇到了以前在这个问题和这个问题上看到的问题 。 基本上,如果我打开自定义类下拉菜单,我只看到一些“标准”类,如UIViewController。 如果我select其中任何一个,我会得到奥特莱斯。 例如,对于UIViewController我总是有该视图 – >查看。 但是,我的项目的类不在下拉列表中。 手动input名称似乎工作,但实际上不是。 必须有一些索引问题(除了我已经删除了一切

 ~/Library/Developer/Xcode/DerivedData/ 

没有成功。 如果你想尝试,我把我的代码放在GitHub上 。 这并不代表我的Outlet,但它确实为其他许多人所用 – 所以严格来说这不是代码中的“bug”。 这更多的是一个XCode问题。 任何帮助将受到欢迎!

编辑4我认为这是非常多的问题:看右边。 下拉菜单不显示“ViewController.h”类。 如果我手动input,它似乎认出它,但实际上我怀疑它不。 在以前的时间里,我总是在下拉菜单中看到我项目的完整列表。 班级列表只是通用的

我find了一个“解决scheme”,或解决方法。 删除XCode数据是不够的,只是重新启动它是不够的。 以下顺序让Outlets神奇地重新出现并正常工作:

  1. 清洁项目
  2. closuresXCode
  3. 删除〜/ Library / Developer / Xcode / DerivedData /
  4. 重新启动MacOs

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

只需要像这样声明IBOutlet

 @property (nonatomic, strong) IBOutlet UILabel* testlabel 

也许是一个非常愚蠢的,但你有没有尝试Clean Project Folder然后删除DerivedData(而故事板未打开),立即退出Xcode,再次打开Xcode,然后build立你的项目?

我遇到了一个类似的问题,但是这是由于Xcode(8.2)中的一个错误,其中Interface Builder在Connection Inspector中没有显示出口,如果这些出口已经用Swift兼容性的_Nullabletypes注解声明的_Nullable

在@属性的括号内使用nullable似乎解决了这个问题。

(我知道原始海报的问题没有使用types注释或Xcode 8,所以略有不同,但问题摘要匹配我的互联网search,所以我提到这为未来的search者)。