我可以制作NSTableView的精确副本吗?
我需要复制其内容,然后我想更改一些字体,与之前的字体不同。
由于
更新:
CBTableView *printTableView = [[CBTableView alloc] initWithFrame:NSMakeRect(0, 0, 400, 400)];
[printTableView setDataSource:[self dataSource]];
[printTableView setDelegate:[self delegate]];
[printTableView addTableColumn:[[NSTableColumn alloc] initWithIdentifier:@"Title"]];
[self addSubview:printTableView];
[printTableView reloadData];
此代码位于NSTableView的子类中。 (我只需要创建一个用于打印的当前实例的副本
通过这段代码,我创建了一个新表,但行数为空。
答案 0 :(得分:3)
我不完全确定你所追求的是什么,但是你可以将两个(或更多!)表视图链接到同一个数据源并委托对象(如果你使用它们,则为相同的绑定),因此返回每个人的内容相同。您的其他设置可以直接针对相关的表视图进行,也可以在相关的委托方法中进行一些区分,具体取决于您要更改的内容。
答案 1 :(得分:1)
嗯...... NSTableView没有实现NSCopying,所以我认为没有一种简单的方法可以获得其中一个对象的深层副本。
我认为您需要分配一个新的,并“手动”复制所有相关信息。