在我正在为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];
就在那里,我的标签正常工作,我的按钮出现了。
答案 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从原型单元连接到另一个视图控制器,认为点击它会转向该视图控制器。)