如何在NSTableView中使用自定义的cell
1个回答
2014-12-20
展开全部
一个NSTableView有如下几个部分组成:数据模型(也就是要显示的数据)和 NSTableColomn类组成的集合。一个NSTableColomn代表了表格中的一列,包括这一列的表格头。因此,一个NSTableColomn对象包括2个Cell,一个用来现实这一列的表格头,一个用来现实这一列的所有数据。
如果你的所有的数据都可以简单的在一个单独的cell中完成,那之要简单的继承NSCell就好。(这里我也不是太明白)。
一旦创建了NSCell的子类,就可以创建一个实例,然后将这个实例赋值给NSTableView,通过这个函数:
-[NSTableViewColumn setDataCell:(yourCustomCellObject)];
以下两点非常重要:
1. 对于每一列,有且只有一个NSCell的实例。这个实例不停的被重用,以便将所有的数据显示出来,这样可以避免对每一个表格的数据申请一个内存空间。
2. 对于custom的NSCell,在整个运行过程中会大量的被copie。所以要保证custom的NSCell实现了NSCopy.
如果你的所有的数据都可以简单的在一个单独的cell中完成,那之要简单的继承NSCell就好。(这里我也不是太明白)。
一旦创建了NSCell的子类,就可以创建一个实例,然后将这个实例赋值给NSTableView,通过这个函数:
-[NSTableViewColumn setDataCell:(yourCustomCellObject)];
以下两点非常重要:
1. 对于每一列,有且只有一个NSCell的实例。这个实例不停的被重用,以便将所有的数据显示出来,这样可以避免对每一个表格的数据申请一个内存空间。
2. 对于custom的NSCell,在整个运行过程中会大量的被copie。所以要保证custom的NSCell实现了NSCopy.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询