49 votes

Section de rechargement UITableView

Je veux recharger une seule section pas la table complète. Existe-t-il une méthode dans UITableView .

[tableView reloadData] est utilisé pour charger la table complète. Je veux savoir comment charger une seule section, car j'ai un grand nombre de lignes dans le tableau.

71voto

bandejapaisa Points 8425

La méthode reloadSections me dérange - car je dois construire quelques objets. C'est génial si vous avez besoin de flexibilité, mais parfois je veux aussi juste la simplicité aussi. Ça va comme ça:

 NSRange range = NSMakeRange(0, 1);
NSIndexSet *section = [NSIndexSet indexSetWithIndexesInRange:range];                                     
[self.tableView reloadSections:section withRowAnimation:UITableViewRowAnimationNone];

Cela rechargera la première section. Je préfère avoir une catégorie sur UITableView et appeler simplement cette méthode :

 [self.tableView reloadSectionDU:0 withRowAnimation:UITableViewRowAnimationNone];

Ma méthode de catégorie ressemble à ceci:

 @implementation UITableView (DUExtensions)

- (void) reloadSectionDU:(NSInteger)section withRowAnimation:(UITableViewRowAnimation)rowAnimation {
    NSRange range = NSMakeRange(section, 1);
    NSIndexSet *sectionToReload = [NSIndexSet indexSetWithIndexesInRange:range];                                     
    [self reloadSections:sectionToReload withRowAnimation:rowAnimation];
}

37voto

sosborn Points 11273

Oui il y a:

 - (void)reloadSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation

21voto

pableiros Points 4682

Pour Swift 3, 4 et 5

 let sectionToReload = 1
let indexSet: IndexSet = [sectionToReload]

self.tableView.reloadSections(indexSet, with: .automatic)

6voto

Ofir Malachi Points 345

que la bonne façon:

 [self.tableView beginUpdates]; 
[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X