Core data 如何清除NSManagedObjectContext缓存?

Core data 如何清除NSManagedObjectContext缓存?,core-data,icloud,nsfetchrequest,Core Data,Icloud,Nsfetchrequest,我在使用iCloud和CoreData时遇到了一个问题。当我在一台设备上更新核心数据数据库时,iCloud会将数据正确同步到第二台设备 但是,假设在更改核心数据之前,我在两台设备上都运行了应用程序。我的第二台设备已经发出了一个NSFetchRequest(假设它被称为fetchRequest1)。在我的第二台设备上从iCloud导入成功后,再次从fetchRequest1调用相同的请求将返回我的所有新数据(插入的任何数据),但不包含对以前存在的实体的任何更新 似乎缓存了一些奇怪的东西,因为如果我

我在使用iCloud和CoreData时遇到了一个问题。当我在一台设备上更新核心数据数据库时,iCloud会将数据正确同步到第二台设备

但是,假设在更改核心数据之前,我在两台设备上都运行了应用程序。我的第二台设备已经发出了一个NSFetchRequest(假设它被称为fetchRequest1)。在我的第二台设备上从iCloud导入成功后,再次从fetchRequest1调用相同的请求将返回我的所有新数据(插入的任何数据),但不包含对以前存在的实体的任何更新

似乎缓存了一些奇怪的东西,因为如果我关闭应用程序并重新打开它,所有内容都会正确显示。此外,如果我通过每个实体发出fetch请求并循环,并对每个实体调用NSManagedObjectContext refreshObject方法,那么数据就会显示出来!然而,这显然并不总是理想的,因为大型数据库无法处理这一问题

是否有人知道是什么原因导致了此问题,或者知道在NSManagedObjectContext对象上刷新缓存以获取请求的方法