У меня проблемы с контекстом в Core Data, который я не могу сохранить.
Я получаю случайные сбои при попытке вызвать [context save:].Иногда это работает, иногда нет и вылетает приложение.Вот мой код удаления.Мне удалось уменьшить количество сбоев, проверив, сохраняет ли [context responsesToSelector].Странно, что это даже когда происходит сбой (responseds ToSelector не выполняется), и я не вызывал функцию сохранения, она все равно удаляется !?Но также, когда RespondsToSelector завершается успешно, и я пытаюсь вызвать функцию сохранения, иногда это все равно дает сбой.Таким образом, в тесте код немного более стабилен, но я думаю, что с Core Data и методом сохранения что-то не так.Было очень трудно отследить проблему, потому что она действительно кажется случайной.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
// Delete the managed object.
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
Accidents* accidentDelete = [self.fetchedResultsController objectAtIndexPath:indexPath];
[context deleteObject:accidentDelete];
// Causing crash...
NSError *error = nil;
if ([context respondsToSelector:@selector(save:)])
if (![context save:&error]) {
// Update to handle the error appropriately.
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
exit(-1); // Fail
}
else
NSLog(@"Error! Context does not respond to save!");
}
}