Ios 从本地持久性存储向iCloud存储植入数据时管理关系

Ios 从本地持久性存储向iCloud存储植入数据时管理关系,ios,core-data,icloud,Ios,Core Data,Icloud,我正在尝试将现有数据从本地存储区植入支持iCloud的存储区。当我尝试从本地托管对象访问关系对象时,会引发以下异常: > illegal attempt to establish a relationship between objects in > different contexts 这就是我想做的 NSEntityDescription *entity = [recurringExpense entity]; RecurringExpense *newRecExp

我正在尝试将现有数据从本地存储区植入支持iCloud的存储区。当我尝试从本地托管对象访问关系对象时,会引发以下异常:

> illegal attempt to establish a relationship between objects in
> different contexts
这就是我想做的

   NSEntityDescription *entity = [recurringExpense entity];
   RecurringExpense *newRecExpense = [[RecurringExpense alloc]initWithEntity:entity insertIntoManagedObjectContext:moc];
   newRecExpense.category = recurringExpense.category;
   [moc assignObject:newRecExpense toPersistentStore:store];

提前感谢。

您似乎遇到了一个问题,这是由于在其中一个对象的托管对象上下文之外或跨线程/队列边界创建关系造成的

根据苹果的文档,“您必须在使用托管上下文的线程上创建托管上下文。”此外,关系两侧的对象需要在同一NSManagedObjectContext中引用

来自苹果:

请参见此处的核心数据并发:


下面的堆栈溢出回答提供了进一步的详细信息:

在哪里创建了
类别
对象?错误消息表明它属于不同的上下文。“recurringExpense”来自不同的上下文。另外,我改变了计划,打算用它来处理种子种植和管理商店。