Ios 未在XCode 6.1(6A1052d)上显示的IB插座
这是一个相当大的问题:IB中没有出现插座 复制: 1) 我将一个变量声明为IBOutlet,例如在我的视图控制器的.h文件中Ios 未在XCode 6.1(6A1052d)上显示的IB插座,ios,objective-c,xcode,xcode6,xcode6.1,Ios,Objective C,Xcode,Xcode6,Xcode6.1,这是一个相当大的问题:IB中没有出现插座 复制: 1) 我将一个变量声明为IBOutlet,例如在我的视图控制器的.h文件中 @property (nonatomic, strong) IBOutlet UILabel* testlabel; 2) 我打开故事板,单击viewcontroller。 -如果这是一个新项目,则没有“门店”列表。 -如果这是一个已经定义了插座的旧项目,“插座”列表包含以前的插座,但不是我添加的插座 有人有过同样的问题吗。这真的很重要,因为除非我停止使用插座,否则我基
@property (nonatomic, strong) IBOutlet UILabel* testlabel;
2) 我打开故事板,单击viewcontroller。
-如果这是一个新项目,则没有“门店”列表。
-如果这是一个已经定义了插座的旧项目,“插座”列表包含以前的插座,但不是我添加的插座
有人有过同样的问题吗。这真的很重要,因为除非我停止使用插座,否则我基本上无法继续。我在发行说明上找不到关于它的任何信息
编辑我在youtube上添加了一段视频,以防我没有正确解释这个问题。如果我忘记了一些显而易见的事情,我很高兴被嘲笑:)也就是说,我一直在遵循这些相同的行为,而这些渠道也一直在列表中
编辑2为了清晰起见,我删除了ivar声明,因为它似乎得到了大多数关注
编辑3好的,我似乎遇到了前面和中看到的问题。基本上,如果打开“自定义类”下拉列表,我只会看到一些“标准”类,例如UIViewController。如果我选择其中任何一个,我就会得到插座。例如,对于UIViewController,我总是使用视图->视图。但是,我的项目的类不在下拉列表中。手动输入名称似乎有效,但事实并非如此。一定有一些索引问题(除了我已经从中删除了所有内容)
~/Library/Developer/Xcode/DerivedData/
没有成功。如果你想尝试,我已经把我的代码放在上面了。这对我来说并没有显示出口,但对其他一些人来说是这样的-所以严格来说,这不是代码的“bug”。这更像是一个XCode问题。欢迎任何帮助
编辑4我想问题就在这里:看右边。下拉菜单没有显示“ViewController.h”类。如果我手动输入,它似乎能识别,但事实上我怀疑它不能识别。以前,我总是在下拉菜单中看到项目类的完整列表。只需声明
IBOutlet
,如下所示:
@property (nonatomic, strong) IBOutlet UILabel* testlabel
只需像这样声明
IBOutlet
:
@property (nonatomic, strong) IBOutlet UILabel* testlabel
可能是一个非常愚蠢的问题,但您是否尝试过清理项目文件夹,然后删除DerivedData(故事板未打开),立即退出Xcode,再次打开Xcode,然后构建项目?可能是一个非常愚蠢的问题,但您是否尝试过清理项目文件夹,然后删除DerivedData(当故事板未打开时),立即退出Xcode,然后再次打开Xcode,然后构建项目?我找到了一个“解决方案”或解决方法。删除Xcode数据是不够的,仅仅重新启动它是不够的。以下顺序使插座神奇地重新出现并正常工作:
通过这样做,当您重新打开XCode并重新编制索引时,它将显示预期的输出。我遇到了类似的问题,但这是由于XCode(8.2)中的错误造成的其中,如果已使用
\u Nullable
类型注释声明插座以实现Swift兼容性,则Interface Builder不会在连接检查器中显示插座
在@property的括号内使用nullable
似乎可以解决这个问题
(我知道原始海报的问题没有使用类型注释或Xcode 8,因此略有不同,但问题摘要与我的互联网搜索结果相匹配,因此我向未来的搜索者提及这一点。)我遇到了类似的问题,但这是由于Xcode(8.2)中的错误造成的其中,如果已使用
\u Nullable
类型注释声明插座以实现Swift兼容性,则Interface Builder不会在连接检查器中显示插座
在@property的括号内使用nullable
似乎可以解决这个问题
(我知道原始海报的问题没有使用类型注释或Xcode 8,因此略有不同,但问题摘要与我的互联网搜索结果相匹配,因此我向未来的搜索者提及这一点。)这是一个ivar。这是从属性之前开始的方式,如果你不想合成ivar,它仍然可以工作。代码的ivar部分实际上并不重要。问题是属性是一个IBOutlet ant,这在列表中没有显示。我添加了一个视频以使问题更清楚。你能用Xcode 6.1.1的beta种子试试吗?@MattGibson我正在下载它:)我希望这能解决这个问题。但即使是这样,还是有点好奇如何“刷新”列表仍然存在…@MattGibson 6.1.1也有同样的问题。我开始有点绝望了…这是一个ivar。这是从属性之前的方式,如果你不想合成ivar,它仍然有效。代码的ivar部分实际上并不重要。问题是,属性是一个IBant,这在列表中没有显示。我已经做了广告下载了一段视频,让问题更清楚。你能用Xcode 6.1.1的测试版种子试试吗?@MattGibson我正在下载它,我们正在交谈:)我希望这能解决问题。但是,即使是这样,对于如何“刷新”列表仍然有一点好奇…@MattGibson 6.1.1也有同样的问题。我开始有点绝望了…是的-对不起,我没有在这里写我的代码中的东西。我会编辑的。所以,重申一下:我有