2010-07-02 3 views
0

J'ai un objet NSArray d'objets UILocalNotification que je dois trier en fonction d'une clé dans la propriété userInfo de UILocalNotification, qui est un NSDictionary. Je sais comment trier NSArrays par une valeur qui est profonde d'un niveau, par exemple, une clé dans un tableau de NSDictionaries, mais deux niveaux profonds, je suis perdu. Je veux faire quelque chose comme ceci est code-code:Tri d'un tableau NSArray par une relation clé-valeur à 2 niveaux

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"userInfo.personName" ascending:YES]; 
//the personName key within the userInfo NSDictionary property of a given UILocalNotification 
NSArray *sortDescriptors = [[[NSArray alloc] initWithObjects:&sortDescriptor count:1] autorelease]; 
NSMutableArray *sortedArray = [[[NSMutableArray alloc] initWithArray:[[UIApplication sharedApplication] scheduledLocalNotifications]] autorelease]; 
[sortedArray sortUsingDescriptors:sortDescriptors]; 

Répondre

1

Avez-vous essayé votre code? Le document d'Apple (here) indique qu'il accepte les chemins clés, pas seulement les clés.

+0

Je pensais que je me souvenais de cette syntaxe de point de quelque part! –

Questions connexes