Я получаю сообщение об ошибке при запуске моего приложения в Xcode (завершение приложения из-за неперехваченного исключения). Ниже я вставил сообщение об ошибке и, как я считаю, является частью кода, создающего проблему. Я новичок и просто изучаю цель c, поэтому, пожалуйста, будьте спокойны со мной. Спасибо!Причина: «не удалось удалить ячейку с идентификатором
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); Thread 1:signal SIGABRT
}
}
Ошибка Сообщение:
2014-11-25 10: 07: 19,794 SamplePhotoReDo [81276: 108898068] * Отказ Утверждение в - [UITableView dequeueReusableCellWithIdentifier: forIndexPath:], /SourceCache/UIKit_Sim/UIKit-3318.16.14/UITableView.m:6116 2014-11-25 10: 07: 19.798 SamplePhotoReDo [81276: 108898068] * Завершение приложения из-за неперехваченного исключения «NSInternalInconsistencyException», причина: «невозможно dequeue ячейка с идентификатором AllPhotosCel л - необходимо зарегистрировать перо или класс для идентификатора или подключения ячейки прототипа в раскадровке « *** Первый стек бросить вызов:»
сценарий, который я считаю, что вызывает ошибку:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = nil;
NSString *localizedTitle = nil;
if (indexPath.section == 0) {
cell = [tableView dequeueReusableCellWithIdentifier:AllPhotosReuseIdentifier forIndexPath:indexPath];
localizedTitle = NSLocalizedString(@"All Photos", @"");
} else {
cell = [tableView dequeueReusableCellWithIdentifier:CollectionCellReuseIdentifier forIndexPath:indexPath];
PHFetchResult *fetchResult = self.collectionsFetchResults[indexPath.section - 1];
PHCollection *collection = fetchResult[indexPath.row];
localizedTitle = collection.localizedTitle;
}
cell.textLabel.text = localizedTitle;
return cell;
}
ключ заключается в следующем: «необходимо зарегистрировать перо или класс для идентификатора или подключения ячейки прототипа в качестве toryboard. Это означает, что вы должны сообщить Xcode, какая ячейка принадлежит идентификатору ячейки. Вы можете сделать это в коде или в Interface Builder. – dasdom
Не обращайте внимания, думаю, я нашел проблему – Ray
Спасибо вам за ваш быстрый ответ, но я думаю, что я решил проблему. В раскадровке изменилось содержимое табличного представления с динамического на статическое .. Это исправило первое сообщение об ошибке, но теперь у меня есть другое сообщение об ошибке: *** Завершение приложения из-за неотображенного исключения «NSRangeException», причина: *** - [__ NSArrayI objectAtIndex:]: index 2 за пределами границ [0 .. 0] ' – Ray