即使数据库已更新,NSFetchRequest也会返回旧数据

我正在使用Coredata的multithreading应用程序。

当我在一个线程上保存一些数据时,它会进入数据库,但是当数据保存到数据库后,当我试图从不同的线程获取数据时,获取请求将返回旧数据。

对于如何解决这个问题,有任何的build议吗?

这是由于MOC合并政策的一个问题。 我之前使用过NSMergeByPropertyObjectTrumpMergePolicy ,并切换到NSMergeByPropertyStoreTrumpMergePolicy修复了这个问题。 请记住,这应该根据您的需要挑选。