Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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
Core data controllerDidChangeContent:每次在核心数据中创建ManagedObject时调用_Core Data_Tableview_Reload_Nsfetchedresultscontroller - Fatal编程技术网

Core data controllerDidChangeContent:每次在核心数据中创建ManagedObject时调用

Core data controllerDidChangeContent:每次在核心数据中创建ManagedObject时调用,core-data,tableview,reload,nsfetchedresultscontroller,Core Data,Tableview,Reload,Nsfetchedresultscontroller,我有一个使用NSFetchedResultsController从核心数据存储中加载数据的tableview,我正在实现controllerDidChangeContent:以使用新数据(从远程源加载)更新表,但是,在我创建托管对象时会调用委托方法controllerDidChangeContent:,我的理解是,只有在相应的托管对象上下文上保存消息时,才应该调用这个函数 是否有要设置的参数来启用此功能 我正在下载一个XML,其中包含许多要插入到tableview中的项目,我正在崩溃,因为我正在

我有一个使用NSFetchedResultsController从核心数据存储中加载数据的tableview,我正在实现controllerDidChangeContent:以使用新数据(从远程源加载)更新表,但是,在我创建托管对象时会调用委托方法controllerDidChangeContent:,我的理解是,只有在相应的托管对象上下文上保存消息时,才应该调用这个函数

是否有要设置的参数来启用此功能

我正在下载一个XML,其中包含许多要插入到tableview中的项目,我正在崩溃,因为我正在动态创建我的托管对象并动态添加信息,其中一些信息需要显示在Table View单元格中

因此,通过controllerDidChangeContent:每当我创建一个新的托管对象时都会被调用,因此我创建表视图单元格所需的属性还没有准备好

任何洞察都会很好


谢谢。

您不能禁用NSFetchedResultsController的此行为。为了防止这种情况,您可以创建第二个NSManagedObjectContext,在其中执行所有插入、更改和删除操作,最后使用
mergeChangesFromContextDidSaveNotification:


在下载XML文件时,您还应该在后台线程中执行此操作,以防止用户输入的UI被阻止。

您可以在