无法编译连接iOS5

时间:2012-03-13 23:08:37

标签: iphone ios xcode ios5

在我正在为iPhone工作的应用程序上,当我要求它给我一个原型表格单元格上的标签出口时,它决定不对我进行编译。我以前有标签的出口,但我只使用标准视图或静态单元而不是原型单元。我认为它可能与标签属于原型单元格并且将被复制的事实有关,因为它们都具有相同的标识符(Cell),但是我可能再次关闭。我不知道如何处理这个,如果我只使用cell.textLabel.text,那么直到我点击单元格后我的上传按钮才会显示。

错误:

Couldn't compile connection: <IBCocoaTouchOutletConnection:0x4007cd200  <IBProxyObject: 0x4007de280> => lblServerName2 => <IBUILabel: 0x4009b7d00>>

有没有人对如何在单元格内的自定义标签上设置文字有任何建议?

作为参考,我上传了我的项目here。目前这是一团糟,但它目前只是概念类型的证明。一旦我开始工作,我就会经历并清理干净。

任何建议都表示赞赏。

编辑:

This页面帮了忙。在发布此问题后我几乎立刻就找到了它。基本上,我将标签的标签设置为100,然后在cellForRowAtIndexPath方法中使用此代码。

UILabel *lblServerName = (UILabel*)[cell viewWithTag:100];
lblServerName.text=[server getName];

就在那里,我的标签正常工作,我的按钮出现了。

2 个答案:

答案 0 :(得分:3)

要更改任意UITableViewCell上标签中的文本,请为标签指定标签,然后在代码中执行以下操作:

UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathWithIndex:2]];
if (cell != nil) {
    // This assumes that you set the tag to 1 on the label
    UILabel *label = (UILabel *)[cell viewWithTag:1];
    label.text = @"New Text";
}

答案 1 :(得分:1)

This question为此错误消息提供了更可能的解释。

如WWDC 2011 Session 309所示,原型单元绝对可以连接到单元的自定义子类。无需使用tag来查找标签,并在以后为其分配值。

您项目中可能发生的事情(我没有看到它)是您从原型单元格中引用到故事板中的另一个对象。这是无效的,因为原型单元不是真正的单元。可能有零或一千个。删除向外指向的连接,错误将消失。

(在我的例子中,我已经将一个segue从原型单元连接到另一个视图控制器,认为点击它会转向该视图控制器。)