/ / ordinamento array mutabile in ordine alfabetico - iphone, obiettivo-c, xcode, nsmutablearray, nsarray

ordinamento di array mutabili in ordine alfabetico - iphone, obiettivo-c, xcode, nsmutablearray, nsarray

Sto avendo un array nsmutable e in quell'oggetto quasi 50 -60 con nomi diversi, e posso ordinare questo array in ordine alfabetico (è possibile, come?)

risposte:

14 per risposta № 1

Per un tipo semplice come questo, mi piace usare i descrittori di ordinamento.

Supponiamo di avere una matrice mutevole di oggetti la cui classe ha a name Proprietà NSString:

NSSortDescriptor *sort=[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:NO];
[myArray sortUsingDescriptors:[NSArray arrayWithObject:sort]];

8 per risposta № 2

Assolutamente, puoi usare sortUsingSelector: per questo:

[myArray sortUsingSelector:@selector(compare:)];

Se l'array contiene oggetti personalizzati, sarà necessario implementare un metodo di ordinamento su tali oggetti:

@implementation myCustomObject
...

-(NSComparisonResult) compare:(myCustomObject*) other {
return [self.name compare:other.name];
}

@end

2 per risposta № 3

L'approccio di TechZen funziona bene, ma funzionerebbemeglio se hai usato NSSortDescriptor "s + sortDescriptorWithKey: ascendente: selector :, passando" localizedCompare: "come selettore, in questo modo l'ordinamento è localizzato nella lingua dell'utente, il che può fare una grande differenza nel confronto tra stringhe.


0 per risposta № 4
myArray=[myDict keysSortedByValueUsingSelector:@selector(compare:)];

Semplicemente ha funzionato per me!