仍然在我的 RSS 阅读器开发中,我使用以下模型:
Categorie -> Feed -> Post
对于我的主视图控制器,我想在类别名称旁边显示未读帖子的数量(read
NSDate 所在的帖子)。nil
由于我需要一个 NSFetchResultsController 来选择类别,我是否需要另一个来获得Category.feeds.posts.read == nil
计数?
你会怎么做?
仍然在我的 RSS 阅读器开发中,我使用以下模型:
Categorie -> Feed -> Post
对于我的主视图控制器,我想在类别名称旁边显示未读帖子的数量(read
NSDate 所在的帖子)。nil
由于我需要一个 NSFetchResultsController 来选择类别,我是否需要另一个来获得Category.feeds.posts.read == nil
计数?
你会怎么做?
不,您不需要单独的获取结果控制器。
我理解你的问题的方式:你想显示一个类别列表。对于每个类别名称,您要显示未读消息的计数。
我会Category
像这样在你的类中实现一个获取的属性。
@implementation Category ()
-(NSUInteger)unreadMessages {
NSUInteger count = 0;
for (Feed *feed in self.feeds) {
NSSet *posts = [feed.posts filteredSetUsingPredicate
[NSPredicate predicateWithFormat:@"read = null"]];
count += posts.count
}
return count;
}
@end
我认为,如果您引入一个默认设置为 post的标志属性unread
(重命名read
为),效率会更高:firstReadDate
1
for (Feed *feed in self.feeds) {
count += [[feed.posts valueForKeyPath:@"@sum.unread"] integerValue];
}