我還是Core Data的新手。核心數據僅保存最後一項
我想循環三次數組和每個循環,我保存索引號。
但是它只顯示獲取結果時的最後一個索引號。它覆蓋了之前插入的所有內容。
我的代碼寫在AppDelegate中。
這裏是我的代碼:
NSManagedObjectContext *context = [self managedObjectContext];
NSManagedObject *tagsDB = [NSEntityDescription insertNewObjectForEntityForName:@"Tags" inManagedObjectContext:context];
for (int i = 0 ; i < 3 ; i++)
{
[tagsDB setValue:i forKey:@"ID"];
}
[self saveContext];
...
- (void)saveContext
{
NSError *error = nil;
NSManagedObjectContext *managedObjectContext = self.managedObjectContext;
if (managedObjectContext != nil) {
if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) {
// Replace this implementation with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
}
}
在每次迭代當我重新聲明NSManagedObject,所有的數據被保存,但我總是空的一個額外的行值 – firewall