我有一个包含一个textboxcolumn和7个checkbox列的tableview。 这个表最终将填充数据,稍后我必须删除中间某处的一列。与表关联的数组会发生什么?我应该如何处理这个?你会怎么做?因为我是初学者,请在答案中说清楚!
答案 0 :(得分:3)
您是否学会了如何向表格视图提供数据?我建议你在尝试解决这个问题之前先做好准备。
有两种方法可以将数据传递到表视图:表视图数据源和Cocoa绑定。
如果您使用数据源,则需要编写-tableView:objectValueForTableColumn:row:
,以便在删除列之前或之后它可以正常工作。一种方法是将该代码基于列的标识符而不是其索引。标识符是您在笔尖中的列上设置的值(查找标识符)。这与您可以用来向重新排序的列提供正确数据的技术相同。
NSString *identifier = [column identifier];
if ([identifier isEqualToString:@"firstField"]) {
return ...
} else if ([identifier isEqualToString:@"secondField"]) {
return ...
}
如果您使用Cocoa Bindings,您只需删除一列,其他列将继续有效。
如果您正在使用数组或数组控制器,则在删除列时,数据都不会自动发生在阵列上。