1

我正在尝试将现有数据从本地商店播种到启用 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];

提前致谢。

4

1 回答 1

0

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

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

来自苹果:

在此处查看核心数据并发:http: //developer.apple.com/library/ios/#documentation/cocoa/conceptual/CoreData/Articles/cdConcurrency.html

以下 Stack Overflow 答案提供了更多详细信息:https ://stackoverflow.com/a/1554935/1294009

于 2013-03-21T06:38:56.413 回答