在故事板-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他们,这对我来说是非常好的。