如何在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.
ZESTRON
2024-09-04 广告
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸...
点击进入详情页
本回答由ZESTRON提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询