Xcode 4.3:IBOutlet的重复连接

时间:2012-07-28 20:14:04

标签: xcode connection storyboard iboutlet

我正在学习使用Xcode 4.3.3的斯坦福CS193p课程。我认为下面的截图非常自我解释。但无论如何,我会用文字描述问题。

我控制 - 将UILabel从故事板拖到相应的实现文件中,以创建IBOutlet @property。然后,当单击编辑器左侧显示行号的实心圆时,我会看到显示两个连接。我不知道如何删除它。

此外,我在UIlabel的storyboard连接检查器中只看到一个连接。

更奇怪的是,当我尝试将UILabel的文本设置在公共属性的setter中时,它无法更新标签的文本:

 -(void) setQuestion:(NSString *)question
 {
     _question = question;
     self.questionLabel.text = question;
     NSLog(@"The quesion is %@",question);
     NSLog(@"The quesion label text is %@",self.questionLabel.text);
 }

我使用两个NSLog进行调试并获得以下内容。它显示NSString *问题是@“你希望你的标签说什么?”,但self.questionLabel.text为null。值赋值失败。我怀疑这与上面提到的重复连接有关。

  

2012-07-29 04:03:53.817厨房水槽[18628:f803]问题是什么   你想要你的标签说吗?   2012-07-29 04:03:53.820厨房   Sink [18628:f803]问号标签文本是(null)

以下是显示重复连接的屏幕截图。我可能遗漏了一些明显的东西,请帮忙。

enter image description here

1 个答案:

答案 0 :(得分:0)

我会把这个问题跟踪到Xcode的故事板。

首先,尝试清理项目并重新构建。

如果您仍然遇到此问题,请手动定义@property,而不要通过执行以下操作从AskerViewController视图拖动到AskerViewController实现(.m)文件。

在AskerViewController的实现(.m)文件的接口部分中剪切该IBOutlet @property行。单击故事板中的标签。断开标签与AskerViewController的任何绑定。清理项目。然后,粘贴回属性,并从标签控制拖动到Storyboard文件中AskerViewController视图底部的视图控制器orb。