2013-05-19 21 views
0

目前我的模型中有兩個實體;模塊和級別。他們有一對多的關係,例如一個級別可以有很多模塊。我怎樣才能插入數據,以便他們相互關聯,以便我可以說模塊具有特定的年份。我需要這個,所以當我刪除模塊時,它也會刪除一年。如何插入與另一個相關的核心數據記錄?

模塊< < ---->等級

如果我只是添加對象分開它工作正常,但我添加的代碼的應用程序最後一行崩潰,它說,實體模塊是不是鍵值編碼兼容的關鍵level_number是模塊端關係的名稱。

NSManagedObject *newModule; 
newModule = [NSEntityDescription 
       insertNewObjectForEntityForName:@"Module" 
       inManagedObjectContext:context]; 

[newModule setValue:textModuelTitle.text forKey:@"name"]; 
[newModule setValue:value forKey:@"credit"]; 

    NSManagedObject *newLevel; 
    newLevel = [NSEntityDescription 
       insertNewObjectForEntityForName:@"Level" 
       inManagedObjectContext:context]; 
     [newLevel setValue:year forKey:@"value"]; 

    [[newModule mutableSetValueForKey:@"level_number"] addObject:newLevel]; 

回答

2

當你有一對多的關係,從一個側面設置的值和Core Data將採取另一邊照顧。

由於級別與模塊有一對一的關係。將模塊設置爲一個級別,然後保存上下文。

+1

謝謝,這解決了問題 – TheGuyWhoChatsWithBots

0

你可以發佈你的整個崩潰消息。

仔細檢查你的關係是否設置正確。有時模擬器可能會保留舊的coreData結構。嘗試從中刪除應用程序並重新運行。

相關問題