我有一个将数据加载到我的表视图中的服务。当服务加载了数据后,我将数据加载到我的模型中:
[self.model.entries removeAllObjects];
[self.model.entries addObjectsFromArray:objects];
现在我想知道这两个调用是否是“绑定兼容”,以便表视图知道它必须更新它直接绑定到self.model.entries
的数据。我问这个是因为在服务完成后,表格不再向我的代表询问tableviewcells的数量,所以似乎绑定没有启动。
我想我可以在tableview上调用reloadData
,但这不再符合“绑定哲学”,对吗?
请注意,如果模型类不存在,我的模型类将返回新的NSMutableArray
。我不清楚这是否是使用绑定的正确方法。
答案 0 :(得分:1)
对于完全绑定兼容性,您应该通过NSController绑定...在这种情况下,可能是NSArrayController。
通过直接绑定到模型,你打破了MVC模式,不,我不相信NSTableView会在直接绑定到模型时获取更改。
例如,将表视图绑定到NSArrayController的arrangeObjects,并使用NSArrayController方法,例如:
-add:
-removeObjects:
-insert:
管理内容。表格视图将自动获取这些更改。