Question

Je cherchais un moyen d'appeler la méthode d'édition directement.

- (void)tableView:(UITableView *)theTableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath

J'ai toute ma logique pour animer les cellules manipulées, retirer de mon tableau de modèle etc. dans cette méthode. Il devient appelée lorsqu'un utilisateur Swipes, ajoute ou réarrange, mais je voudrais appeler manuellement / directement en tant que fil d'arrière-plan change mon modèle.

Je l'ai construit un NSIndexPath comme ceci:

NSIndexPath *path = [NSIndexPath indexPathForRow:i inSection:1];

Je ne peux pas comprendre comment appeler quelque chose comme:

[self.tableview commitEditingStyle:UITableViewCellEditingStyleDelete forRowAtIndexPath:path];

Dois-je besoin d'un accès de gain aux méthodes de cette UITableView de style simple d'une autre manière?

Merci:)

Était-ce utile?

La solution

Je ne vois pas pourquoi vous ne pouvez pas appeler cette méthode, si tout ce que vous voulez pour votre code à exécuter. Les documents donnent un indice lourd que

- (void)setEditing:(BOOL)editing animated:(BOOL)animate

aura pour effet d'appeler cette méthode source de données de toute façon. Il serait plus logique de factoriser votre code de cette méthode dans une autre méthode et l'appeler à la fois de la méthode de source de données et d'ailleurs dans votre code, si c'est vraiment ce que vous voulez faire.

Si vous voulez vraiment que refléter les changements dans votre modèle, puis appelez [tableView reloadData] -. C'est ce qu'il est pour

Autres conseils

Je ne sais pas pour vous, mais peut-être si vous appelez la méthode

- (void)setEditing:(BOOL)editing animated:(BOOL)animate

il pourrait être, que la méthode commitEditingStyle est appelée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top