Я создаю приложение iOS, которое настроено как иерархия данных. У меня нет проблем на первой странице, добавляя и удаляя объекты или даже переходя на следующую страницу. Проблема возникает на второй странице, которая настроена точно так же, как и первая. Когда я нажимаю кнопку добавления, чтобы добавить объект, программа вылетает и отправляет обратно ошибку SIGABRT.Вставка строки по причинам пути указателя
[self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:YES]; << crashes on this line
здесь есть функция добавить постучала:
- (void)addTapped:(id)sender {
StudentDoc *newDoc = [[[StudentDoc alloc] initWithTitle:@"New Student" rating:0 thumbImage:nil fullImage:nil] autorelease];
[_students addObject:newDoc];
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:_students.count-1 inSection:0];
NSArray *indexPaths = [NSArray arrayWithObject:indexPath];
[self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:YES];
[self.tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionMiddle];
[self tableView:self.tableView didSelectRowAtIndexPath:indexPath];
}
количество строк в разделе:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return _students.count;
}
Я был под впечатлением, что подсчет является то, что является причиной проблемы, но я контролировал счет, и он остается неизменным.
В целом я понятия не имею, почему он сбой в этот момент, потому что перед тем, как он использует одну и ту же функцию для добавления объектов на эту страницу. Есть идеи?
Это все еще дает мне ту же ошибку на вставленную строку с индексом пути – user1170015
Вы можете поставить весь контент метода в '@try {...} @catch (NSException * e) {NSLog (@" exception% @ ", [e description]); } '? –