Новое в программировании, так что извиняйтесь за любые глупые вопросы. В коде нет ошибок, но это от меня тестирование моего приложения на симуляторе. Я только что написал код, где каждый раз, когда вы нажимаете на задание, он меняет цвет и перемещает его ниже, я был так взволнован, что продолжал нажимать на них, и я нажал на тот, который уже был отмечен как завершенный, и изменил цвет, и я думаю, мой код не был подготовлен к этому, так что независимо от того, какой новый код я пишу, я просто не могу заставить приложение работать снова без сбоев. См ниже кодПриложение IOS для прекращения использования из-за неперехваченного исключения «NSRangeException», причина: «*** - [__ NSArrayM objectAtIndex:]: индекс 1 за пределами границ [0 .. 0] '
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
[[self arrayForSection:indexPath.section]removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationBottom];
}
#pragma mark - UITableViewDelegate
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:YES];
[tableView beginUpdates];
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationTop];
// Tapped an uncompleted Task. Must complete it!
if (indexPath.section == 0) {
NSString *task = self.tasks[indexPath.row];
[self.tasks removeObjectAtIndex:indexPath.row];
[self.completedTasks insertObject:task atIndex:0];
[tableView insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:0 inSection:1]] withRowAnimation:UITableViewRowAnimationTop];
}
// Tapped a completed Task. Time to make it an uncompleted task
else {
NSString *task = self.completedTasks[indexPath.row];
[self.completedTasks removeObjectAtIndex:indexPath.row];
[self.tasks insertObject:task atIndex:0];
[tableView insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:0 inSection:1]] withRowAnimation:UITableViewRowAnimationTop];
}
[tableView endUpdates];
[self save];
}
Вы получаете доступ к элементу по индексу 1, но массив пуст. Печатайте массивы, чтобы выяснить, где вы это делаете. –
Прочитайте сообщение об исключении * очень внимательно *. Затем наблюдайте трассировку стека исключений, которая указывает вас на неудачную операцию. –
Вы все замечательно благодарите за ответ. Я продолжу поиск и поиск – user3320964