Question

Un rapide. Je néglige quelque chose ...

J'ai une vue de table groupée qui est construite à partir de tableaux dans un NSDictionary. Chaque tableau est une section de la table. En mode édition et lorsqu'un utilisateur clique sur "supprimer". J'appelle

- (void)removeObject:(MyClass *)myObject 

comment puis-je déterminer quel tableau envoyer le message [myArray removeObject: myObject]? NSDictionary n'a pas de méthode indexOfObject:, mais NSArray en a. Je suppose que je pourrais parcourir chaque tableau à la recherche dudit objet, mais cela ne semble pas bien.

Quelqu'un peut-il secouer mon cerveau s'il vous plait?!? merci!

Était-ce utile?

La solution

Vous pouvez implémenter les protocoles UITableView standard et utiliser cette méthode:

(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle<br> forRowAtIndexPath:(NSIndexPath *)indexPath {
     <br><br>//check the section according to your array, if(indexPath.section ==....
     <br><br>
    if(editingStyle == UITableViewCellEditingStyleDelete) {
     <br>
    [arrayFoundBefore removeObjectAtIndex:indexPath.row];
    <br> 
    }
    <br>}

Je pense que c'est la façon de le faire, pas sûr cependant. Quelqu'un peut-il clarifier?

Autres conseils

Vous devez savoir quelle tableView a envoyé le message (car la méthode en question se trouve dans le délégué de cet objet) - vous pouvez donc créer le tableau dans la méthode viewDidLoad dans le délégué tableView ou déterminer celui-ci. est basé sur le contexte du délégué.

Je ne vois clairement aucun mal à effectuer une itération dans les tableaux. À quelle fréquence les gens suppriment-ils des documents et les dictionnaires sont-ils suffisamment volumineux pour en faire une surcharge importante?

En tant que point de référence, la méthode indexOfObject: de NSArray ne fait rien de plus fantaisiste qu’itérer le tableau à la recherche d’un objet correspondant.

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