为什么我的项目中出现三个“非法配置”错误?

时间:2013-03-18 22:26:29

标签: ios objective-c xcode uitableview

我有一个项目,我在自定义单元格原型类(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.

我究竟做错了什么?我很困惑。

1 个答案:

答案 0 :(得分:2)

您可能在项目中错误地连接了Label出口。我假设articleURL中定义了articlePreviewarticleTitleUITableViewCell标签。它们应该连接到customTableViewCell中不在UIViewController的{​​{1}}类中的插座。当您在self.articleTitles中引用cellForRowAtIndexPath时,它表示您将它们连接为当前类的出口而不是customTableViewCell类。最好将customTableCell定义为当前类的属性,该类具有UITableView的Delegate实现。

详情请查看TableView Programming