2010-12-10 32 views
0

Salut, je suis nouveau avec l'Objective-C et j'essaie d'essayer. J'ai un NSArray appelé "valeurs". C'est un tableau de tableau. Il semble que:comment trier un NSArray avec un NSArray imbriqué

[ "0" => "aString", 6872,5523,0091]

[ "1" => "anotherString", 4422,1234,0091]

[ » 2 "=>" aString ", 6812,2143,0314] ...

Comment trier le tableau" values ​​"que la première valeur entière? Je devrais utiliser le NSPredicate? s'il vous plaît aidez-moi avec un exemple. grâce

Répondre

3

Quelque chose comme ça avec le bloc (en supposant que votre valeur entière sont NSNumber ou une classe qui peut être comparé):

NSArray *sortArray = [yourArray sortedArrayUsingComparator: ^(id elt1, id elt2) { 
    return [[elt1 objectAtIndex:1] compare:[elt2 objectAtIndex:1]]; 
    } ]; 
+0

Merci pour la solution. J'avais trouvé un autre en utilisant cette méthode statique NSInteger intSort (id num1, id num2, void * contexte) { int v1 = [[num1 objectAtIndex: 1] intValue]; int v2 = [[num2 objectAtIndex: 1] intValue]; si (v1 v2) renvoie NSOrderedAscending; sinon return NSOrderedSame; } et cette déclaration: [values ​​sortedArrayUsingFunction: intSort context: NULL] où les valeurs sont le NSArray avec l'objet à trier. – Cerve86