NSTableView不会增加表中的元素数量?

时间:2009-09-08 16:30:23

标签: objective-c cocoa nstableview

我有一个NSTableView,它使用NIB的控制器对象显示为数据源。我实现了NSTableView非正式协议。

此NSTableView从Core Data获取其值。我启动应用程序,加载我在XML中的所有值,然后显示它们。

我的问题是,NSTableView似乎没有在表的末尾添加任何新行。如果我在永久存储中没有值启动应用程序并添加另一个(添加值,因为我可以看到它们被保存到XML),表视图只是忽略新值。

如果我添加一个值,我知道它会到达表的末尾(内容按字母顺序排列),我不会看到新值。

如果我和我知道的值不会到达表的末尾,则会添加该值,我将在表中看到它,但表中的最后一个值将被推出并消失。

我注意到 - (int)numberOfRowsInTableView:(NSTableView *)tv只在应用程序启动时调用,而不是在我执行[tableView reloadData]时调用。导致此事件被解雇的原因是什么?我尝试在tableView上调用reloadData之前手动触发它,但似乎没有用。

对可能导致此问题的任何想法?

有没有人遇到过这样的事情?有什么线索可能是什么?

1 个答案:

答案 0 :(得分:0)

Alex的评论让我回顾了代码,特别是Interface Builder中的绑定。事实证明我已经在表和我的控制器对象之间设置了绑定并实现了NSTableDataSource。

我删除了所有绑定,只实现了NSTableDataSource协议。