在故事板-IB中向原型单元添加项目时出现奇怪的错误

我有一个相当大的项目(〜20场景)。 其中之一是一个带有自定义UITableViewController类的TableViewController。 我给单元格重用标识符,并添加了一个标签。 当我尝试和Ctrl +拖动标签到UITableViewController头文件来创build一个sockets,我得到以下错误:

错误:非法configuration:连接“tableInfoView”不能有一个原型对象作为其目的地。

这是什么? 我可以忽略明显的东西吗? 或者我需要创build一个自定义的单元类,并将其拖到那个? 如果是这样的话,我怎样才能从UITableViewController中为每个单元格指定唯一显示的数据?

事实上,你不能只是在UITableView委托视图控制器中的一个dynamic单元格原型的sockets。

你将不得不UITableViewCell子类,然后将这个类归类到你的原型。

然后,您可以将Ctrl-从标签UITableViewCell子类头文件。

最后你可以在导入UITableViewCell头文件之后,在委托代码中访问这个sockets。

这是苹果在“dynamic行内容的技术”部分logging。

或者你可以给标签一个标签(如100)和使用

 myLabel = [myTableView viewForTag:100]; 

拿到标签

我自己也有同样的错误。 只是为未来的读者增加一个更重要的根源:

在我的情况下,我从一个原型单元复制一个控件(在这种情况下是一个button)到下一个,行动仍然指向邻居单元格。 我的表有几个不同的原型单元格。

事实上,它实际上是UITableViewCell的一个适当的子类,它正确连接到原型单元格,使得很难真正看到错误。

我面临同样的问题,但后来发现这只是一个愚蠢的错误。 我错误地将标签从单元格拖到我的控制器的@interface

这也可能是你的问题。 只是交叉检查一次。

为标签添加标签,您可以像viewWithTag一样在视图控制器中的任意位置使用标签。

  UILabel *destinationLabel = (UILabel *)[self.tableView viewWithTag:1]; destinationLabel.text = @"Label Destaination"; 

在原型单元格的Storyboard中设置.m文件中使用的正确的重用标识符。我有相同的情况,这对我有帮助

如果问题依然存在,做完所有事情之后,就把所有的零售店都清理干净,重新join他们,这对我来说是非常好的。