我需要在用户滚动NSTableView时动态加载数据。例如,该表可能显示50行,当它进一步滚动时,我需要从网络中获取更多数据。对象/行数是预先知道的,所以我希望表从一开始就有正确的行数,但在加载数据时显示为空单元格。
我使用Core Data,所以很容易使用绑定将表连接到我的模型。这还将负责在数据传入和解析时更新单元格。我已经尝试过如何通过将NSArrayController子类化来实现这一点,但从我所能断定的情况来看,没有从表到控制器的关于哪些行实际需要数据的信息。因此,我正在考虑实现NSTableViewDataSource,这样我就可以很容易地检查表是否滚动到了可获得数据的行之外。另一方面,我不知道我是否会用这个解决方案让单元格自动更新。
发布于 2011-02-11 07:39:52
如果有人遇到这个问题,这是我自己的答案:
是,您需要在控制器上实现NSTableViewDataSource,观察数据的变化,并在发生变化时手动调用表上的reloadData。这样做的主要原因是,您可以将数据的加载推迟到实际需要时(当表视图滚动时)。通过使用数据源协议,您可以随时了解所请求的索引。
https://stackoverflow.com/questions/4906866
复制相似问题