使用NSMutableDictionary的修改内容刷新NSTableView

时间:2010-07-20 21:46:23

标签: cocoa nstableview

我有一个NSDictionaryController,其内容绑定到NSMutableDictionary,在Interface Builder中初始化和连接。在调用某个IBAction之后,以编程方式修改字典的内容。 NSTableView与Cocoa绑定连接到NSDictionaryController,尽管NSLogging字典显示了这些更新,但它没有得到更新。

我发现修复此问题的唯一方法是在修改字典后立即执行以下块:

id t = self.content; self.content = nil; self.content = t;

即使我可以说这是一个KVC / KVO问题,但我也没有足够的经验来知道如何从这里开始。有没有人知道更清洁,更像Cocoa的处理方式?

1 个答案:

答案 0 :(得分:0)

呼叫

[tableView reloadData];
更新数据后,从您的代理内部

。 (将“tableView”替换为代理中的NSTableView实例。)

请参阅NSTableView Reference's reloadData

编辑:我想对于NSDictionaryController reloadData不会做太多。检查http://www.cocoadev.com/index.pl?NSTableViewNotReloadingCorrectly