如何在NSTableView中重用单元格?

5

我有一个包含10个单元格的NSTableView。它们都是相同的单元格,我想要重复使用它们,但是我似乎无法让表视图这样做。

目前,每次需要新单元格时,委托似乎无法找到具有相同标识符的先前单元格,并且必须重新创建它。

以下是我的代码,您有什么建议我可能做错了吗?

- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView
{
    return 10;
}


- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
    static NSString *cellIdentifier = @"Name";

    NSTableCellView *cellView = [tableView makeViewWithIdentifier:cellIdentifier owner:self];

    if (cellView == nil)
    {
        NSLog(@"A cell");
        NSRect cellFrame = [_scrollView.contentView bounds];
        cellFrame.size.height = 65;

        cellView = [[NSTableCellView alloc] initWithFrame:cellFrame];
        [cellView setIdentifier:cellIdentifier];
    }

    return cellView;
}
1个回答

8

我进行了一些测试并发现表格会不断地创建新的单元格,直到表格无法同时显示所有单元格为止。

此时,表格将重复使用那些不可见的单元格。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接