从树控制器中填充的大纲视图中显示的核心数据属性中获取值的总和

时间:2013-04-10 20:57:50

标签: core-data cocoa-bindings nsoutlineview

我正在尝试了解有关为OS X创建应用程序的更多信息,并且遇到了谷歌无法提供答案的问题。我正在创建的示例应用程序是一个RSS阅读器。我有文件夹和Feed的核心数据实体,Feed从文件夹继承。

Folder的一个属性是unreadCount,类型为Integer64。 Feed从Folder继承此属性。我们的想法是显示Feed中未读文章计数的显示,并且文件夹中包含的所有Feed的未读文章总数将与该文件夹一起显示。

我有一个管理实体文件夹的NSTreeController。此树控制器使用文件夹/提要的标题和每个提要和文件夹的unreadCount填充大纲视图(此时文件夹只是默认为0)。 unreadCount通过值转换器显示,该值转换器获取整数计数并返回其字符串版本。所有这些都设置了绑定并且工作正常。

我遇到的问题是将文件夹的unreadCount设置为其Feed中所有未读计数的总和。我用谷歌搜索了几个小时,看到了一个似乎是从带有@sum.value的阵列控制器填充的表的解决方案,但这显然不适用于树控制器(无论如何我都可以确定)。

所以,我的问题是,当显示器是从树形控制器填充的轮廓视图时,如何将文件夹的显示的unreadCount设置为文件夹包含的Feeds的未读数量的总和?

1 个答案:

答案 0 :(得分:0)

我建议你重新考虑一下你的数据模型。不要让Feed继承Folder,而是使用由关系连接的两个独立实体:一个Folder有许多Feed个实例。

您的计数可以由模型层提供:@sum.self.feeds。这使您能够编写自动化测试,并且当您需要特定文件夹中未读文章的数量时,将简化您的生活。