1

我有一个项目,其中在自定义单元格原型类(UITableViewCell 的子类)中有三个标签,这些标签链接到自定义单元格的 .h 文件中的三个标签出口。

然后在我的主视图控制器类(它包含原型单元并且是 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.

我到底做错了什么?我很混乱。

4

1 回答 1

2

您可能在项目中错误地连接了标签插座。我假设标签articleURL,articlePreviewarticleTitle 是在UITableViewCell. 它们应该连接到相应customTableViewCell类别中的插座而不是UIViewController. 正如您在 中引用self.articleTitles的那样cellForRowAtIndexPath,它表明您将它们连接为当前类的出口而不是customTableViewCell类。最好将您的 customTableCell 定义为当前类的属性,该类已实现 UITableView 的委托。

查看TableView Programming了解详细信息。

于 2013-03-18T22:32:20.423 回答