我有一个项目,我在自定义单元格原型类(UITableViewCell的子类)中有三个标签,它们链接到自定义单元格的.h文件中的三个标签出口。
然后在我的主viewcontroller类(包含原型单元格并且是UITableViewController的子类)中,与这些标签交互的委托方法如下所示:
- (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.
我究竟做错了什么?我很困惑。
答案 0 :(得分:2)
您可能在项目中错误地连接了Label出口。我假设articleURL
中定义了articlePreview
,articleTitle
和UITableViewCell
标签。它们应该连接到customTableViewCell
中不在UIViewController
的{{1}}类中的插座。当您在self.articleTitles
中引用cellForRowAtIndexPath
时,它表示您将它们连接为当前类的出口而不是customTableViewCell
类。最好将customTableCell定义为当前类的属性,该类具有UITableView的Delegate实现。
详情请查看TableView Programming。