如何在Cocoa / Xcode中创建具有动态列数和绑定的NSTableView?

时间:2012-09-19 10:23:24

标签: xcode cocoa dynamic nstableview

抱歉,我知道这是一个有点复杂的问题。

当我想在具有固定列数的屏幕上制作NSTableview对象时,生活很容易。我只是对每个列进行数据绑定,只是读取/写入该模型(根据MVC)。

但是当我需要一个具有动态列号的表时,生活变得不友善(我的意思是允许用户添加/删除列)。 当我使用两种不同的方法时:在第一种也是更简单但最糟糕的方法中,我可以制作足够大的表格,这样用户就永远无法填满它!但我知道记忆永远不会那么欣赏!!

在第二种方法中,我可以创建一个NSTableColumn数组,并为每列分配编号标识符,如下所示:

  

NSTableColumn *列[iColumn]; // NSInteger iColumn定义为   用户

   for( int i=0;i< iColumn;i++){
        column[i] = [[NSTableColumn alloc] initWithIdentifier:[ NSString stringWithFormat:@"%i" ,i] ];
        [column[i] setWidth:100];
        [tableView   addTableColumn:column[i]];
    }

这很好用,但是有一些烦人的限制。例如使用“数据绑定”并使用一些拖放操作比处理编号为1,2,3的列的表要容易得多,...以编程方式。

我认为必须有一些更简单的方法来使用UI Builder而不是编写代码。或许可以为整个TableView而不是为每个单独的列绑定数据(类似于Visual中可用的内容) Studio C ++ / Clr用于“dataTable”对象。还是另一种方法? 任何答案都将受到赞赏

0 个答案:

没有答案