我有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