我想使用下面的代碼將多行保存到我的coredata數據庫中。它只保存最後一行。爲什麼這樣做?爲什麼我的數據不能保存在覈心數據中?
nsManagedObject1.column1 = @"First row";
nsManagedObject1.column2 = @"Test 2";
//insert first row
if (![context save:&error]) {
NSLog(@"Could not save the data: %@",[error localizedDescription]);
}
//insert second row
nsManagedObject1.column1 = @"Second row";
nsManagedObject1.column2 = @"Test 2";
if (![context save:&error]) {
NSLog(@"Could not save the data: %@",[error localizedDescription]);
}
//see how many rows exist in the database
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"TestDB" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
NSLog(@"Number of rows: %d",[fetchedObjects count]);
在計數中,我只得到一行。當我在行中打印數據時,它只能找到我輸入數據庫的最後一行。爲什麼這樣做?由於我確實保存了上下文,因此我期待在數據庫中有兩行可用。請幫忙!我也沒有得到任何錯誤。
PS - 我知道我不應該這樣做,但我覺得我應該明白爲什麼所有的行都沒有保存。
Xcode只是一個IDE。它不會保存和運行。 – vikingosegundo