我有1个待办事项对象,我正在创建1个报告对象。它们都是NSManagedObject创建的同一个NSManagedObjectContext的不同MOC。为了说清楚,NSManagedObjectContext是来自我的PersistenceStore类的ivar。无法建立关系NSManagedObjects
ToDo对象来自一个数组,该数组继承自PersistenceStore中的方法,该方法返回保存在NsPresistentStoreCoordinator中的对象的数组。待办事项对象作为属性传递给我应该初始化报告的类。
报告类是从PersistenceStorage NSManagedObject与此代码线MOC初始化:
NSManagedObjectContext *context = [store managedObjectContext];
Report *report = [NSEntityDescription insertNewObjectForEntityForName:@"Report" inManagedObjectContext:context];
待办事项和报告的对象有关系之一 - - 之一。但是,一个我尝试设置我得到了错误的关系
< \ NSInvalidArgumentException>非法尝试建立在不同的上下文
在我心目中,我使用相同的NSManagedObjectContext对象之间的关系“待办事项” 。有人可以帮助我吗?另一实体的
你可能是说'ctx'是一个'NSManagedObjectContext'而不是'NSManagedObject'? – lagos
我修好了。我使用你的解决方案的一部分: 报告对象也有其他关系,但与原来的上下文,所以如果我有使用你的解决方案,我得到了与其他关系的问题。然后解决方案是 'NSManagedObjectContext * context = [store managedObjectContext]; Report * report = [NSEntityDescription insertNewObjectForEntityForName:@“Report”inManagedObjectContext:context]; NSManagedObject * object = [context objectRegisteredForID:[currentTodo objectID]]; [report setTodo:((ToDo *)object)]; ' – lagos