示されているように、私は1つの UIViewController を使用しています:
@interface RssViewController : UIViewController <UITableViewDataSource,UITableViewDelegate,BlogRssParserDelegate>
UISegmentedControl で選択されたセグメントに応じて、UITableView (RssViewController 内) に RSS フィードを表示しています。
テーブルビューをスクロールして UISegmentedControl の別のセグメントを選択すると、アプリがクラッシュします。たとえば、デフォルトで 2 つの RSS フィードがあり、RSS フィードをセグメント 0 に表示しています。このフィードには 36 行あります。セグメント 1 で読み込む RSS フィードには 5 行しかありません。セグメント 0 で RSS フィードをスクロールすると、スクロールが停止する前にセグメント 1 で RSS フィードに切り替えると、次のエラーでアプリがクラッシュします。
* キャッチされない例外 'NSRangeException' が原因でアプリを終了します。理由: '* -[NSCFArray objectAtIndex:]: 境界 (0) を超えたインデックス (36)'
セグメント 0 で RSS フィードのスクロールが停止するまで待ってから、セグメント 1 を選択すると、すべて正常に動作します。
どうすればこのクラッシュを止めることができますか? データのみが変更されるため、同じテーブルビューを再利用したかったのです。行数が原因でクラッシュしていることがわかります-36行から5行に減少しましたが、どうすればこれを修正できますか?
ヘルプ/提案をいただければ幸いです。