Ошибка подтверждения –

Я разбираю xml-файл и помещаю его анализируемые значения в представление таблицы. В представлении таблицы есть только один раздел. Но я получаю следующее исключение:

2013-10-14 15: 21: 57.250 tableview [6068: 907] * Ошибка утверждения в [UITableView _endCellAnimationsWithContext:], /SourceCache/UIKit/UIKit-2380.17/UITableView.m:909 2013-10-14 15:22: 11.227 tableview [6068: 907] Завершение приложения из-за неотображенного исключения «NSInternalInconsistencyException», причина: «попытаться вставить строку 0 в раздел 0, но после обновления« 0 »только 0 строк в разделе 0: * Первый стек вызова броска: 0x33e752a3 0x3bcde97f 0x33e7515d 0x3474aab7 0x35cb0a9f 0x35de6b27 0x6a10f 0x69ce5 0x33dc6037 0x346dc599 0x6b54b 0x3478c0f5 0x33e4a683 0x33e49ee9 0x33e48cb7 0x33dbbebd 0x33dbbd49 0x379702eb 0x35cd1301 0x68bdd 0x68b64) Libc ++ abi.dylib: Terminate называется бросать исключение

Код:

/** The NSOperation "ParseOperation" calls addFiles: via NSNotification, on the main thread which in turn calls this method, with batches of parsed objects. The batch size is set via the kSizeOfEarthquakeBatch constant. */ - (void)addFilesToList:(NSArray *)files { NSInteger startingRow = [self.fileList count]; NSLog(@"STARTING ROW:%d",startingRow); NSInteger fileCount = [files count]; NSLog(@"FILE COUNT : %d",fileCount); NSMutableArray *indexPaths = [[NSMutableArray alloc] initWithCapacity:fileCount]; NSLog(@"INDEX PATHS:%@",indexPaths); for (NSInteger row = startingRow; row < (startingRow + fileCount); row++) { NSLog(@"into for"); NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:0]; NSLog(@"INDEXPAth %@",indexPath); [indexPaths addObject:indexPath]; } [self.fileList addObjectsFromArray:files]; NSLog(@"ADD objects"); NSLog(@"FILELIST:%@",self.fileList); //GETTING EXCEPTION AT THIS LINE [self.tableview insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationAutomatic]; } #pragma mark - UITableViewDelegate\ -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } // The number of rows is equal to the number of earthquakes in the array. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [self.fileList count]; NSLog(@"NUMBER OF ROWS :%d",[self.fileList count]); } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *kFileCellID = @"Cell"; myTableCell *cell = (myTableCell *)[tableView dequeueReusableCellWithIdentifier:kFileCellID]; // Get the specific earthquake for this row. fileList *file = (self.fileList)[indexPath.row]; [cell configureWithFile:file]; return cell; } 

3 Solutions collect form web for “Ошибка подтверждения –”

В моем случае проблема заключалась в том, что я использовал два indexPath (indexPath, lastIndexPath). но для lastIndexPath.row из моего массива bound.solve по условию check.hope эта помощь кому-то.

 [self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, lastIndexPath, nil] withRowAnimation:UITableViewRowAnimationAutomatic]; 

Что происходит, так это то, что в табличном представлении, которое вы добавляете новую ячейку, все еще не известно об изменениях, внесенных в массив self.fileList. Порядок, в котором UIKit будет добавлять новую ячейку и проверять количество разделов, к сожалению, не поддается вашему контролю. Однако, чтобы исправить эту проблему, операции вставки и удаления UItableview необходимо обернуть на beginUpdate и endUpdate методы вызова.

 [self.tableView beginUpdates]; // Do all the insertRowAtIndexPath and all the changes to the data source array [self.tableView endUpdates]; 

Я обновлял строки после вызова API.

Попробуйте обновить строки внутри основного потока. (так как все обновления пользовательского интерфейса должны выполняться внутри основного потока).

Попробуй это….

 DispatchQueue.main.async { self.tableView.insertRows(at: [newIndexPath], with: .bottom) } 
  • как мне обрабатывать изменение размера subview в UITableViewCell, входящем и выходящем из EDIT MODE?
  • Как разрешить пользователям переупорядочивать разделы в UITableView
  • Повторное использование ячейки ... :(
  • Пользовательский UITableViewCell в режиме редактирования не перемещает мои UILabels
  • Как разместить два iOS UITableViews, рядом?
  • Парсы и Свифт. Получите ячейки в UITableView, которые имеют галочку. Msgstr "Невозможно вызвать аргумент."
  • iOS UITableView изменяет размер высоты / наклона прокрутки вниз
  • Как сохранить состояние конкретной кнопки в UITableView (т.е. прекратить переписывание изображения)
  • Как использовать панель видимости с UISearchController
  • Перемещение представления при прокрутке в UITableView
  • Просмотр таблицы с блокируемыми столбцами и горизонтальной прокруткой?
  • Interesting Posts

    SailsJs SocketIO в iOS

    Настройки уведомлений iOS Push – отказано в разрешении против разрешения никогда не запрашивалось

    Ошибка UIPageViewController с UITextField и клавиатурой

    Ошибка кодового знака не обнаруживает идентификатор команды во время сборки Cordova ios

    GLSL Shader Error "Конструкторские вызовы могут не иметь точности"

    Не удалось выполнить сканирование через CBCentral Manager с идентификатором службы для iBecon Signal

    xCode qlaunchsuccess Ошибка

    Получение URL-адреса UIImage, выбранного из UIImagePickerController

    У кого-нибудь есть рабочая ссылка для просмотра для iOS9?

    Как отклонить программно созданный UIView, когда пользователь нажимает на любую часть экрана iPhone

    Навигация с UIViewController на Appdelegate

    Facebook iOS SDK. Собственный Auth после нажатия пользователем «Не разрешать»

    Разница между EQEvent eventIdentifier и calendarItemExternalIdentifier

    библиотека не найдена для -lPods-AFNetworking

    iOS7 TextKit: выравнивание маркеров

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.