Ios 数据库同步问题(缓存和线程)

Ios 数据库同步问题(缓存和线程),ios,objective-c,multithreading,core-data,magicalrecord,Ios,Objective C,Multithreading,Core Data,Magicalrecord,我正在尝试将我的数据库(核心数据)与服务器同步。我正在使用Magicalrecord()进行核心数据操作 我正在后台同步上传文件到服务器。当此操作在后台运行时,用户可以添加/删除/更新文件 第一次尝试时,我使用了MR\u contextForCurrentThread和MR\u savetopersistentstore和wait进行数据库操作。问题是,即使数据已同步但未针对队列更新,我也会获得重复的数据。我在这里找到了原因,在线程上有一些缓存,数据还并没有保存在主线程中,所以当前线程一直返回旧

我正在尝试将我的数据库(核心数据)与服务器同步。我正在使用Magicalrecord()进行核心数据操作

我正在后台同步上传文件到服务器。当此操作在后台运行时,用户可以添加/删除/更新文件

第一次尝试时,我使用了MR\u contextForCurrentThreadMR\u savetopersistentstore和wait进行数据库操作。问题是,即使数据已同步但未针对队列更新,我也会获得重复的数据。我在这里找到了原因,在线程上有一些缓存,数据还并没有保存在主线程中,所以当前线程一直返回旧数据

第二,我使用MR_contextsaveWithBlockAndWait进行DB操作,但仍然遇到同样的问题

最后,我在任何保存方法中使用了MR_defaultContext,然后一切都很好,但我在这里遇到的问题是“CoreData:error:NULL\u cd\u rawData但对象没有变成错误””:线程问题

当DB操作在两个线程中运行并且每次都希望在两个线程上提交最新的数据时,哪个上下文或保存方法更合适


我应该使用一个上下文并同步进行DB操作吗?

您能提供您的代码吗?我只是在同一个实体中用两个不同的线程保存数据。无论如何,我尝试删除神奇记录,并用[[NSManagedObjectContext alloc]initWithConcurrencyType:NSPrivateQueueConcurrencyType]替换它,然后用执行块保存子级和父级。但这里也面临一些奇怪的问题,比如当我试图连续运行2/3执行块时,UI有时会卡住。嗨,如果不看到您的实现ie:代码,我们真的很难做出决定。所以,请继续并发布您的代码。谢谢