J'essaie de trouver un bon moyen de trier les gens par leur rôle dans une entreprise spécifique. Ce qui le rend délicat, c'est qu'une personne peut avoir un ou plusieurs rôles dans différentes entreprises. À l'heure actuelle, j'ai un tableau d'objets «Personne», et chacun de ces objets est associé à un NSSet d'objets «Rôles».trier les gens par leur rôle dans une entreprise
similaires à ceci:
Person
-personId
-personName (NSString)
-personRoles (NSSet)
Role
-roleId (NSNumber)
-roleWeight (NSNumber)
-roleName (NSString)
-companyId (NSNumber)
J'ai besoin de code qui est en mesure de résoudre quelque chose de similaire à ceci:
Trier par personne Tableau de Role.roleWeight Où Role.companyId = X
J'ai regardé les descripteurs de tri, mais ils ne semblent pas être assez pour résoudre le défi. Toutes les suggestions sont les bienvenues.
Merci Lou, Comment proposeriez-vous je reçois le COMPANYID d'identifier le rôle approprié de dans la méthode 'compare'? –
C'est un bon point. Il existe une variante de tri plus difficile à comprendre qui prend un pointeur de fonction C et un contexte. Celui-ci vous permettrait de passer dans l'id de l'entreprise. http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/Reference/Reference.html#//apple%5Fref/doc/uid/20000138-BABCEEJD –
Mise à jour de la réponse avec sortUsingFunction –