2011-06-22 47 views
0

我試圖在我的數據庫中創建新的元素。我可以填充新元素的所有屬性,但我可以填充它的關係。任何人都知道我該怎麼做?填寫關係核心數據

我填的是新的元素那樣:

NSManagedObject *mo = [NSEntityDescription insertNewObjectForEntityForName:@"People" 
                inManagedObjectContext:context]; 
[mo setValue:label_name.text forKey:@"name"]; 
[mo setValue:label_surname.text forKey:@"surname"]; 

謝謝!!

回答

3

對於一對一的關係,你

  1. 創建應在相關
  2. 使用setValue:forKey:一樣的,你會爲一個屬性的對象。

對於一對多的關係,您

  1. 創建應發起對象到新的對象添加到關係有關
  2. 使用mutableSetValueForKey的對象。
+0

我也試過這個: [mo setValue:[NSNumber numberWithInt:99] forKey:@「Relationship」]; 我得到: 終止應用程序由於未捕獲的異常'NSInvalidArgumentException',原因:'對於多對多關係的值不可接受的類型:property =「Relatioship」;期望的類型= NSSet;給定類型= NSCFNumber;值= 99。' 有什麼想法?非常感謝你!!! – jcpp7

+0

我試過這樣的: NSManagedObject * mo = [NSEntityDescription insertNewObjectForEntityForName:@「Entity1」inManagedObjectContext:context]; [mo mutableSetValueForKey:@「Relationship」];但出現這種情況: 「The operation could not be completed。(Cocoa error 1580.)」UserInfo = 0x4d3b380 {NSValidationErrorObject =(entity:Entity1; id:0x5998ac0; data:{Relationship =(); – jcpp7

+0

由於這是一個這個方法爲你提供了一個NSMutableSet,你需要將新的對象添加到這個集合中。 –