2012-06-08 4 views
0

Как я могу заставить приложение хранить информацию, когда она закрыта. Поскольку каждый раз, когда я его снова открываю, все основные данные стираются.Сохраненные элементы в данных ядра удаляются при закрытии приложения

Вот пример:

NSString *nomville = [[_jsonDict objectAtIndex:indexPath.row] objectForKey:@"label"]; 
NSString *idVille = [[_jsonDict objectAtIndex:indexPath.row] objectForKey:@"id"]; 

detailView.title = nomville; 
detailView.idVille = idVille; 

NSLog(@"Valor: %@", nomville); 
NSLog(@"Valor: %@", idVille); 

AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; 

NSManagedObjectContext *context = [appDelegate managedObjectContext]; 
NSManagedObject *villesR = [NSEntityDescription 
            insertNewObjectForEntityForName:@"Ville" 
            inManagedObjectContext:context]; 
[villesR setValue:idVille forKey:@"idV"]; 
[villesR setValue:nomville forKey:@"nom"]; 

[self.navigationController pushViewController:detailView animated:YES]; 

ответ

1

Вы обычно называют сохранить методы, когда ваше приложение выталкивается на задний план или вышел.

Hou может это сделать, как это в ваше приложение делегата:

- (void)applicationDidEnterBackground:(UIApplication *)application { 
    [self saveContext]; 
} 

- (void)applicationWillTerminate:(UIApplication *)application { 
    [self saveContext]; 
} 

#pragma mark - Core Data stack 

- (void)saveContext { 
    NSError *error = nil; 
    NSManagedObjectContext *managedObjectContext = self.managedObjectContext; 
    if (managedObjectContext != nil) { 
     if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) { 
      NSLog(@"Unresolved error %@, %@", error, [error userInfo]); 
      abort(); 
     } 
    } 
} 
Смежные вопросы