我有一个NSFetchedResultsController,它在表视图中显示项目列表,包括关联实体的计数。为此关联添加对象(使用addXXXObject)时,不会调用任何回调来通知我的控制器更新。
如何收到添加到父实体的NSSet的对象的通知,或以其他方式强制提取的结果控制器更新?
要清楚,我目前正在使用parent.children.count检索计数,这可能不是最理想的。有没有更好的方法去做这整件事?它基本上只是一个像iPhone Mail应用程序的屏幕,文件夹显示内部消息的数量。
答案 0 :(得分:0)
我的模型有点不同,但很容易翻译成你的模型 我有一个树状的结构:
添加或删除文件时,只有队列中的第一个文件夹会收到有关此更改的通知。当文件的标题发生更改时,不会通知单个文件夹。那么,该怎么办?
我尝试覆盖-willChangeValueForKey:和-didChangeValueForKey:在我的Element类中。
- (void)willChangeValueForKey:(NSString *)key
{
[super willChangeValueForKey:key];
[self.parent willChangeValueForKey:@"children"];
}
- (void)didChangeValueForKey:(NSString *)key
{
[super didChangeValueForKey:key];
[self.parent didChangeValueForKey:@"children"];
}
基本上,这样做会强制父文件夹更新,因为其中一个子项已更改 希望它也适合你。