我要说,主要队列中的mainObject
中有NSManagedObjectContext
("主要背景")。另一方面,我在私人队列中的另一个privateObject
中有NSManagedObjectContext
("私有语境")。
我想从maon上下文中删除mainObject
,并在私有上下文中插入privateObject
。我试过这个:
[mainContext insertObject:privateObject];
但是我遇到了崩溃:
' NSManagedObject可能只在单个NSManagedObjectContext中(或由其观察)。'
我也试过了:
[mainContext objectWithID:privateObject.objectID];
和此:
NSManagedObject *managedObject = [privateContext existingObjectWithID:privateObject.objectID error:&error];
[mainContext insertObject:managedObject];
但我得到同样的错误。
有没有办法将上下文中的对象插入另一个上下文?或者我应该保存私有上下文,然后从主上下文中获取此类对象?或者还有另一种不同的更好的方法吗?
由于
答案 0 :(得分:0)
为什么不复制对象的属性? 例如,在主上下文中创建一个新的新托管对象,并从私有托管对象复制属性。理解并且易于管理将非常清楚。