我有一个 NSFetchedResultsController,它在表视图中显示项目列表,包括关联实体的计数。当为此关联添加对象时(使用 addXXXObject),不会调用回调来通知我的控制器更新。
如何接收对象被添加到父实体的 NSSet 的通知,或者以其他方式强制更新获取的结果控制器?
需要明确的是,我目前正在使用parent.children.count 检索计数,这可能不是最理想的。有没有更好的方法来解决这一切?它基本上只是一个类似于 iPhone 邮件应用程序的屏幕,其中的文件夹显示了内部邮件的数量。
我的模型有点不同,但它可以很容易地转换为您的模型。
我得到了一个树状结构:
- Element
- Folder : Element
- 文件:元素
添加或删除文件时,只有队列中的第一个文件夹会收到有关此更改的通知。当文件标题更改时,不会有任何文件夹收到通知。那么该怎么办?
我尝试在 Element 类中覆盖 -willChangeValueForKey: 和 -didChangeValueForKey: 。
- (void)willChangeValueForKey:(NSString *)key
{
[super willChangeValueForKey:key];
[self.parent willChangeValueForKey:@"children"];
}
- (void)didChangeValueForKey:(NSString *)key
{
[super didChangeValueForKey:key];
[self.parent didChangeValueForKey:@"children"];
}
基本上,这样做是强制父文件夹更新,因为它的子文件夹之一发生了更改。
希望它也适合你。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)