Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 关联计数更改时强制NSFetchedResultsController更新_Iphone_Uitableview_Core Data_Uikit_Nsfetchedresultscontroller - Fatal编程技术网

Iphone 关联计数更改时强制NSFetchedResultsController更新

Iphone 关联计数更改时强制NSFetchedResultsController更新,iphone,uitableview,core-data,uikit,nsfetchedresultscontroller,Iphone,Uitableview,Core Data,Uikit,Nsfetchedresultscontroller,我有一个NSFetchedResultsController,它在表视图中显示项目列表,包括关联实体的计数。为该关联添加对象时(使用addXXXObject),不会调用回调来通知我的控制器更新 如何接收将对象添加到父实体的NSSet的通知,或以其他方式强制获取结果控制器更新 为了清楚起见,我目前正在使用parent.children.count检索计数,这可能是次优的。有没有更好的方法来处理这整件事?它基本上只是一个像iPhone邮件应用程序一样的屏幕,里面有文件夹显示邮件数量。我的模式有点不同

我有一个NSFetchedResultsController,它在表视图中显示项目列表,包括关联实体的计数。为该关联添加对象时(使用addXXXObject),不会调用回调来通知我的控制器更新

如何接收将对象添加到父实体的NSSet的通知,或以其他方式强制获取结果控制器更新


为了清楚起见,我目前正在使用parent.children.count检索计数,这可能是次优的。有没有更好的方法来处理这整件事?它基本上只是一个像iPhone邮件应用程序一样的屏幕,里面有文件夹显示邮件数量。

我的模式有点不同,但它可以很容易地转换为你的模式。
我得到了一个树状结构:

  • 元素
    • 头衔
    • 父母(对一)
  • 文件夹:元素
    • 儿童(对许多人而言)
  • 文件:元素
添加或删除文件时,只有队列中的第一个文件夹会收到有关此更改的通知。当文件标题更改时,不会通知任何文件夹。那么,该怎么办?
我尝试在我的元素类中重写-willChangeValueForKey:和-didChangeValueForKey:

- (void)willChangeValueForKey:(NSString *)key
{
    [super willChangeValueForKey:key];
    [self.parent willChangeValueForKey:@"children"];
}

- (void)didChangeValueForKey:(NSString *)key
{
    [super didChangeValueForKey:key];
    [self.parent didChangeValueForKey:@"children"];
}
基本上,这是因为父文件夹的一个子文件夹已更改而强制更新。
希望它对你也有用