2014-03-12 42 views
0

我正在用兩個實體構建一個非常簡單的應用程序:PersonCategories核心數據一次保存多個相關屬性

在我的AddPersonViewController中,我有一個人名字段和一個Table視圖,其中多個選擇使用預定義的類別啓用。

我希望能夠選擇多個類別,並在按下保存按鈕時將其與人名一起保存。

我可以找到很多例子,一次保存一個相關的實體,但沒有一個人。

EDITED

我選擇的類別,並把它們放在一個數組,然後我節省了用戶,但只保存數組的最後一類。

這裏是我的保存方法:

- (IBAction)save:(id)sender { 

//saves the user name 
Users *name = [NSEntityDescription insertNewObjectForEntityForName:@"Users"inManagedObjectContext:self.managedObjectContext]; 
name.userName = addUserField.text; 

NSError *error = nil; 
if(![managedObjectContext save:&error]){ 
    NSLog(@"Error! %@", error); 
} 

//saves the related categories 
Kind *kind = [NSEntityDescription insertNewObjectForEntityForName:@"Kind"inManagedObjectContext:self.managedObjectContext]; 
for (int k=0; k < [_addCathegoryArray count]; k++) { 
    NSString *kindString = [[_addCathegoryArray objectAtIndex:k] description]; 
    [kind setValue:kindString forKey:@"kindName"]; 
    [name addHasKindsObject:kind]; 
} 
if(![managedObjectContext save:&error]){ 
    NSLog(@"Error! %@", error); 
} 

[self dismissViewControllerAnimated:YES completion:nil]; 

}

回答

1

被保存在上下文中完成,而不是單個屬性或實體。

簡而言之,當您保存時,您對上下文中的對象所做的所有更改都會保存。

+0

我猜對了,但是我關心的保存方法。我編輯了這個問題來更好地解釋問題。 – Irene