无法将IBOutlet的连接器链接到View Controller

时间:2015-04-01 01:24:18

标签: ios objective-c xcode viewcontroller iboutlet

我为视图控制器创建了文件AViewController.h和AViewController.m - 我已将此视图控制器的自定义类设置为AViewController

我有一个在AViewController.h中定义的对象,它是另一个类B的实例:

@property (weak, nonatomic) IBOutlet B *object_b;

我希望能够将此IBOutlet链接到视图控制器,以便我可以使用它来调用类B的函数来在视图控制器上显示内容。但是,我无法做到这一点 - 尝试从对象拖动一行到视图控制器什么都不做。对象旁边没有错误或黄色警告符号。我尝试从视图控制器到对象也这样做,并且还从故事板中的菜单中尝试了这个。

我的视图控制器是否应该重命名为'AViewController'?我有其他视图控制器的名称不同于他们的自定义类,他们没有任何链接问题。

我试过以下解决方案: XCode 6: can't connect any IBOutlet to ViewControllerError in Xcode 6 - view controller does not have an outlet named (subview), 但他们没有工作。

我正在使用XCode 6.2

这是一个非常讨厌的问题;在之前的问题中有一些关于错误报告的讨论,但我不确定它是否已经解决。感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

只要您的班级“B”不是视图控制器,这应该很容易。第一步是转到storyboard或相关的.xib文件,找到与“AViewController”对应的视图控制器。然后,找到里面有白色方块的小黄色圆圈(视图控制器顶部)并控制+点击它。你会看到弹出一个黑框。 (见附图)。在框中,应该有一个名为“Outlets”的部分。你看到下面一行与你的“B”对象相关吗?如果是这样,则从该行右侧的白色圆圈拖动到视图控制器上代表“B”类的对象。这将把它连接起来。

如果黑盒子中没有“B”条目,那么视图控制器的设置就出错了。

如果黑框中有“B”条目,但无法将其连接到视图控制器,请执行以下步骤:确保视图控制器上有“B”类对象故事板。如果你不这样做,那就是你的问题。如果您这样做,但仍然无法使其工作,则可能需要在故事板中设置对象的类类型。要做到这一点,请单击故事板上的对象,然后在xcode的右侧面板中查看(下面的屏幕截图#2)。在面板中,单击第3个图标(它看起来像一个小方块)。在那里,你会看到一些“自定义课程”。如果在“课堂”下它没有说“B”,那那就是你的问题。如果这是您的问题,那么将类设置为“B”,然后尝试使用我的答案第一段中列出的步骤再次连接您的插座。

enter image description here

enter image description here