Я пытаюсь использовать alertView, чтобы предупредить пользователей о том, что они собираются удалить объект.Вот мой код:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Caution!"
message:@"Are you sure you want to delete this truck?"
delegate:self
cancelButtonTitle:@"NO"
otherButtonTitles:@"YES", nil];
[alert show];
[alert release];
} }
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if (buttonIndex == 1) {
NSIndexPath *indexPath = [truckTableView indexPathForSelectedRow];
NSManagedObjectContext *moc = [self.fetchedResultsController managedObjectContext];
Truck *truck = [fetchedResultsController objectAtIndexPath:indexPath];
[moc deleteObject:truck];
NSError *error = nil;
if (![moc save:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
}
else {
}}
Вид предупреждения отображается правильно, если я нажимаю «НЕТ», исчезает и все хорошо.Если я нажимаю «ДА», приложение вылетает без отчета журнала, просто EXC_BAD_ACCESS.Из того, что я исследовал, возможно, что alertView освобождается перед удалением объекта?Это правильно?Если да, то как сохранить alertView до тех пор, пока удаление не будет обработано?спасибо за вашу помощь!