У меня есть tableView, который загружает свои данные непосредственно из таблицы базовых данных с помощью NSFetchedResultsController. Я не использую промежуточный NSMutableArray для хранения объектов из результатов выборки;
Я в основном реализовал в своем UITableViewController метод протокола numberOfRowsInSection, и он возвращает числоOfObjects внутри NSFetchedResultsSectionInfo.
id <NSFetchedResultsSectionInfo> sectionInfo = [[fetchedResultsController sections] objectAtIndex:section];
и затем я настраиваю содержимое ячейки путем реализации configureCell: atIndexPath и извлечения информации об объекте из fetchedResultController, но сейчас у меня есть общая конфигурация для любого объекта (чтобы избежать осложнений)
cell.textLabel.text = @"categoria";
У меня также есть панель навигации с пользовательской кнопкой редактирования справа, которая загружает мой собственный селектор под названием customSetEditing. То, что я пытаюсь сделать, это загрузить «Вставить ячейку» в начале tableView, поэтому, когда я нажимаю на него, он создает новую запись. Эта последняя часть легко реализуется, проблема в том, что я не могу загрузить строку вставки или любую строку, когда нажимаю на кнопку редактирования на панели навигации.
это код для моего customSetEditing:
- (void) customSetEditing {
[super setEditing:YES animated:YES];
[self.tableView setEditing:YES animated:YES];
[[self tableView] beginUpdates];
//[[self tableView] beginUpdates];
UIBarButtonItem *customDoneButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(customDone)];
[self.navigationItem.rightBarButtonItem release];
self.navigationItem.rightBarButtonItem = customDoneButtonItem;
//[categoriasArray insertObject:[NSNull null] atIndex:0];
NSMutableArray *indexPaths = [[NSMutableArray alloc] initWithObjects:[NSIndexPath indexPathForRow:0 inSection:0],nil ];
[self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationTop];
//[indexPaths release];
[self.tableView reloadData];}
Перед добавлением: [self.tableView reloadData];
Я получил ошибку выхода за границы плюс сбой программы, и хотя программа не падает, она ничего не загружает.
Я видел много примеров подобных ситуаций в stackoverflow (кстати, это отличный форум с очень полезными и приятными людьми), ни один из примеров, похоже, не работает для меня.
Есть идеи?