Predicate et tableau multidimensionnel

chaps31chaps31 Membre
21:39 modifié dans API AppKit #1
J'ai passé du temps aujourd'hui à  résoudre ce problème sans succès (net, doc Apple, ici en recherchant dans des précédents messages).

J'ai un NSMutableArray anArray
Qui est formé d'enregistrements qui sont des dico, je ne voudrais garder que certains enregistrements du tableau dont la valeur d'une clé précise ("idc")  soit égal à  une donnée constante .

J'ai essayé d'utiliser "filteredArrayUsingPredicate" avec un predicate du type
anArray.idc==maValeur
Ca ne marche pas...

Je pense que c'est un problème de base mais je n'y arrive pas seul et ne trouve pas la solution tout seul...  :-\\ (c'était mon moment Caliméro..)

Merci encore...

Réponses

  • AliGatorAliGator Membre, Modérateur
    21:39 modifié #2
    Je dirais [tt][NSPredicate predicateWithFormat:@SELF.idc==%@,maValeur][/tt]
  • chaps31chaps31 Membre
    21:39 modifié #3
    o:)
    Merci.
    Juste un truc, le "filteredArrayUsingPredicate" ne semble pas modifier le tableau  à  qui le message est envoyé, mais renvoie un tableau filtré, donc il faut un autre nsarray temporaire...
    Je me trompe ?
  • AliGatorAliGator Membre, Modérateur
    21:39 modifié #4
    Tout à  fait, nouveau tableau, même pas besoin de lire la doc pour te dire ça d'ailleurs : d'après les conventions de nommage utilisées par Apple et en Cocoa, et tout comme de toute façon le laisse penser le nom de la méthode, une méthode qui s'appelle "filteredArray" retourne un (nouveau) tableau, filtré. En plus c'est une méthode de NSArray, qui représente un tableau non modifiable.

    Sinon si la méthode modifiait le tableau, déjà  elle ne serait pas dans NSArray mais dans la classe NSMutableArray, représentant des tableaux modifiables (à  qui on peut ajouter/supprimer des éléments, etc), et en plus elle s'appellerai plutôt un truc comme "filterArray" ("filtre le tableau") et pas "filteredArray..." ("tableau filtré").
Connectez-vous ou Inscrivez-vous pour répondre.