2013-04-26 46 views
0

創造孩子的NSManagedObjectContext有關係的實體,我創建了編輯實體溫度範圍內父實體

NSManagedObjectContext *parent = [Default managedObjectContext];//my main managed context 
    NSManagedObjectContext *_createNewContex = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType]; 
    [_createNewContex setParentContext:parent]; 

在_createNewContex我試圖創建編輯我的臨時條目。

MyTempEntry *entry = [MyTempEntry createInContext:_createNewContex]; 

它創建好,但如果嘗試分配從父上下文項關係:

entry.entryFromParent = parentEntry; 

我有錯誤:

*終止應用程序由於未捕獲的異常「NSInvalidArgumentException」 ,原因:「非法企圖建立關係」在不同背景下的物體之間建立關係「透明」

回答

2

你不能在上下文之間使用對象。您需要使用其objectID或其他值查找輔助上下文中的對象。

然後可以使用來自次要上下文的對象來創建關係。

類似下面

NSManagedObjectID *objectID = [parentEntry objectID]; 

id newContextParentEntry = [_createNewContext objectWithID:objectID]; 

entry.entryFromParent = newContextParentEntry; 
粗糙碼