IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> NSSortDescriptors pour trier des objects
Options
romainB
posté 19 May 2004, 14:34
Message #1


Adepte de Macbidouille
*

Groupe : Membres
Messages : 112
Inscrit : 22 Dec 2003
Membre no 12 727



Bonjour,

J' essaie de trier des objets dans un NSArray avec sortedArrayUsingDescriptors:
Quand les objets en question sont des NSDicos, ça marche bien. Il suffit de préciser dans le NSSortDescriptor la key utilisée pour trier et le sens de triage.

Mais dans mon cas, les objects à trier sont des classes. Pour obtenir le NSDico correspondant à chaque classe, j' ai une méthode :
[object getDico].

A partir du dico obtenu, j'aimerais trier les objets (classes) en fonction d'une key dans le dico correspondant.

Comment faire ? quelle est la méthode la plus pratique ? NSSortDescriptor est le plus approprié ?

Merci.
Go to the top of the page
 
+Quote Post
Guest_macmagna_*
posté 19 May 2004, 15:40
Message #2





Guests






Salut,

Afin que le tri s'effectue sur le bon objet, cad, le dico contenu dans l'objet original et non l'objet original lui-même; tu doit ajouter la methode suivante dans la classe de l'objet original (celle qui contient déjà "getDico"):
CODE
- (id)valueForUndefinedKey:(NSString *)key
{
   return [[self getDico] valueForKey:key];
}

ça permet à la fonction de tri de retrouver les valeurs associées au dico quand elle ne trouve pas une clé correspondante pour l'objet original lui-même.
Go to the top of the page
 
+Quote Post
romainB
posté 19 May 2004, 17:20
Message #3


Adepte de Macbidouille
*

Groupe : Membres
Messages : 112
Inscrit : 22 Dec 2003
Membre no 12 727



Ben ...

J' ai implémenté ta méthode
CODE
- (id)valueForUndefinedKey:(NSString *)key
{
   return [[self getDico] valueForKey:key];
}


dans la classe qui doit être triée.
maintenant j' ai des messages :

Exception raised during posting of notification. Ignored. exception: [<MyPlugin 0x2ed2a0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key Name.

Ma classe est une sous classe de NSobject avec un protocole (c'est peut-être ça).
Sinon, quelles doivent être les conditions pour être key value coding-compliant ?
Merci.
Go to the top of the page
 
+Quote Post
romainB
posté 19 May 2004, 19:00
Message #4


Adepte de Macbidouille
*

Groupe : Membres
Messages : 112
Inscrit : 22 Dec 2003
Membre no 12 727



Mea culpa.

La classe n'était pas initialisée et ça ne marchait pas. maintenant c'est bon.

Merci macmagna.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 26th April 2024 - 17:05