Я использую один UIViewController, как показано:UISegmentedControl с UITableView NSRangeException
@interface RssViewController : UIViewController <UITableViewDataSource,UITableViewDelegate,BlogRssParserDelegate>
Я отображение RSS-канал в UITableView (в RssViewController) в зависимости от выбранного сегмента на UISegmentedControl.
Мое приложение падает при прокрутке таблицы, затем выбирает другой сегмент UISegmentedControl. Например, у меня есть два RSS-канала по умолчанию. Я показываю RSS-канал в сегменте 0. Этот канал имеет 36 строк. RSS-канал, который я загружаю в сегменте 1, имеет только 5 строк. Когда я прокручиваю RSS-канал в сегменте 0 ТОГДА перед остановкой прокрутки я переключаюсь на RSS-канал в сегменте 1, я разбиваю приложение со следующей ошибкой:
* Завершение приложения из-за неперехваченного исключения «NSRangeException», причина: '* - [NSCFArray objectAtIndex:]: индекс (36) за пределами (0)'
Если я дождался прокрутки на ленте RSS в сегменте 0 остановок, то выберите сегмент 1, все работает нормально.
Как я могу остановить это сбой? Я хотел бы использовать одно и то же табличное представление, потому что меняются только данные. Я вижу, что он сбой из-за количества строк - я перешел от 36 строк до 5 строк, но как я могу это исправить?
Любая помощь/предложения будут оценены.
Hi, Right - Я использую reloadData и не прерываю прокрутку. Я попробую ваши предложения и дам вам знать, как я разобрался. Спасибо за быстрый ответ. – CraigH
Привет снова. Хорошо, я решил проблему с вашим первым предложением. Я попробую ваши другие предложения, когда позволит время. Пока, заботясь об этом в tableView: cellForRowAtIndexPath: делает трюк. Благодарю. – CraigH