objective-c - NSOutlineView numberOfRows 在 reloadData 后没有增加
问题描述
我想计算我刚刚添加到NSOutlineView
. 为此,我将它添加到我的数据源中,然后调用reloadData
. 但是,出于某种原因,除了第一行之外NSOutlineView
,我无法检查单元格之后的任何内容。reloadData
代码如下所示:
[m_dataSource add:...]; // first add item to my data source
[m_outlineView reloadData];
int nRows = (int) [m_outlineView numberOfRows];
NSCell *cell = [m_outlineView preparedCellAtColumn:0 row:nRows-1];
NSSize size = [cell cellSize];
出于某种原因,nRows
无论我添加多少行,这里总是 1。因此,我只能查询第一行中第一个单元格的大小。
我看到的行为可能与第一行是可扩展行而所有其他行都是第一行的子行有关。但是,我已经检查过了
- (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item;
正确返回YES
该项目。一切也正确地出现在NSOutlineView
. numberOfRows
即使我reloadData
在它之前打电话,它似乎也没有得到更新。
有什么想法吗?
解决方案
推荐阅读
- javascript - 使用 mssql 方言通过迁移向枚举添加新值
- amazon-web-services - 部署作为服务创建的 sagemaker 端点
- php - 从一个用户账户转账到另一个用户账户
- javascript - 如何通过 DOM 从记录中隐藏 RESET 按钮?
- angular - 更新 Angular Toastr 中的文本
- python - 即使提供了很好的猜测,scipy curve_fit 也完全不适合?
- css - Position buttons on bottom of card group in Bootstrap4
- java - How do I add a JSON body to my post request using Retrofit?
- ionic4 - 手机上运行的 Ionic App 无法访问 NestJS 的服务器 URL
- python - drop several cubes in pygame