J'utilise une UIViewController comme indiqué:UISegmentedControl avec UITableView NSRangeException
@interface RssViewController : UIViewController <UITableViewDataSource,UITableViewDelegate,BlogRssParserDelegate>
Je suis affichant un flux RSS dans le UITableView (en RssViewController) en fonction du segment sélectionné sur la UISegmentedControl.
Mon application tombe en panne lorsque je fais défiler la vue de table puis sélectionne un autre segment du UISegmentedControl. Par exemple, j'ai deux flux RSS par défaut J'affiche le flux RSS au segment 0. Ce flux a 36 lignes. Le flux RSS que je charge sur le segment 1 n'a que 5 lignes. Lorsque je fais défiler le flux RSS au segment 0 ALORS avant que le défilement arrête je passe au flux RSS du segment 1, je plante l'application avec l'erreur suivante:
* Terminaison de l'application en raison d'une exception non interceptée 'NSRangeException', raison: '* - [NSCFArray objectAtIndex:]: index (36) au-delà des limites (0)'
Si j'attends que le défilement du flux RSS au segment 0 s'arrête ALORS sélectionnez le segment 1, tout fonctionne correctement.
Comment puis-je arrêter ce plantage? Je voulais réutiliser la même vue de table car seules les données changent. Je peux voir qu'il se bloque à cause du nombre de lignes - je suis passé de 36 lignes à 5 lignes MAIS comment puis-je résoudre ce problème?
Toute aide/suggestion serait appréciée.
Salut, Droite - J'utilise reloadData et n'interrompt pas le défilement. Je vais essayer vos suggestions et vous faire savoir comment j'ai fait. Merci pour la réponse rapide. – CraigH
Salut à nouveau. D'accord, j'ai résolu le problème avec votre première suggestion. Je vais essayer vos autres suggestions lorsque le temps le permettra. Pour l'instant, en prendre soin dans tableView: cellForRowAtIndexPath: fait l'affaire. Merci. – CraigH