Ios 为什么我会得到三个;“非法配置”;我的项目中的错误?
我有一个项目,其中自定义单元格原型类(UITableViewCell的子类)中有三个标签,它们链接到自定义单元格的.h文件中的三个标签输出 然后在我的主viewcontroller类(包含原型单元格,是UITableViewController的子类)中,与这些标签交互的委托方法如下所示:Ios 为什么我会得到三个;“非法配置”;我的项目中的错误?,ios,objective-c,xcode,uitableview,Ios,Objective C,Xcode,Uitableview,我有一个项目,其中自定义单元格原型类(UITableViewCell的子类)中有三个标签,它们链接到自定义单元格的.h文件中的三个标签输出 然后在我的主viewcontroller类(包含原型单元格,是UITableViewController的子类)中,与这些标签交互的委托方法如下所示: - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"ArticleCell";
ArticleCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
int row = indexPath.row;
cell.articleTitle.text = self.articleTitles[row];
cell.articleURL.text = self.articleURLs[row];
cell.articlePreview.text = self.articleURLs[row];
return cell;
}
但我有以下三个错误:
Connection "articleURL" cannot have a prototype object as its destination.
Connection "articlePreview" cannot have a prototype object as its destination.
Connection "articleTitle" cannot have a prototype object as its destination.
我到底做错了什么?我很困惑。您可能在项目中错误地连接了标签插座。我假设标签
articleURL
、articlePreview
和articleTitle
是在UITableViewCell
中定义的。它们应该连接到相应customTableViewCell
类中的插座,而不是UIViewController
中的插座。当您在cellforrowatinexpath
中引用self.articletTitles
时,这表明您将它们连接为当前类的出口,而不是customTableViewCell
类。最好将customTableCell定义为实现UITableView委托的当前类的属性
查看详细信息。这正是错误消息告诉您的。不能将UITableViewController的属性链接到单元格中的视图。这是因为一次可能有多个单元格实例。(框架不知道您是否只计划了一个)。将视图连接到自定义UITableViewCell子类中的插座,自定义UITableViewCell子类可能将TableView或TableViewController作为代理,并通过调用控制器中的方法传递信息。听起来很复杂,但很直截了当。不过,我也不喜欢插座位于customTableViewCell类中并连接到该类,UIViewController只有一个包含一些起始数据的基本模型,即self.articleTitles/URL/previews。奇怪的是,即使我从Interface Builder中删除了所有标签,错误仍然存在……例如,您是否尝试过清理项目?或者在您的XIB(文本)中搜索其他具有这些名称的插座?为什么它一直需要清洁?><是的,成功了,谢谢。啊,Xcode。