wake-up-neo.com

Bester Weg, um ein NSArray von NSDictionary-Objekten zu sortieren?

Ich habe Schwierigkeiten mit dem Versuch, eine Reihe von Wörterbüchern zu sortieren.

Meine Wörterbücher haben einige interessante Werte, Preise, Beliebtheit usw.

Irgendwelche Vorschläge?

67
iOSDevil

Verwenden Sie NSSortDescriptor so .. 

NSSortDescriptor * descriptor = [[NSSortDescriptor alloc] initWithKey:@"interest" ascending:YES];
stories = [stories sortedArrayUsingDescriptors:@[descriptor]];
recent = [stories copy];

stories ist das zu sortierende Array. recent ist ein anderes veränderbares Array, das Wörterbuchwerte sortiert hat. Ändern Sie den @"interest" mit dem Schlüsselwert, nach dem Sie sortieren müssen.

Alles Gute 

196
Warrior
[array sortUsingDescriptors:[NSArray arrayWithObjects:[NSSortDescriptor sortDescriptorWithKey:@"YOUR-KEY" ascending:YES], nil]];

Ich möchte es nicht wirklich in mehrere Zeilen aufteilen. Für mich ist das schon einfach genug.

25
superarts.org

Sie können einfach von der übergeordneten zur gewünschten untergeordneten Eigenschaft wechseln. Für z. 

NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"parent.child.child"  ascending:YES];
10
Ansari Awais

Update, sortUsingDescriptors ist jetzt sortiertArrayUsingDescriptors

So ist es wie:

items  = [items sortedArrayUsingDescriptors:[NSArray arrayWithObjects:descriptor,nil]];
4
dijipiji
array = [array sortedArrayUsingDescriptors:[NSArray arrayWithObjects:[NSSortDescriptor sortDescriptorWithKey:@"YOUR-KEY" ascending:YES], nil]];

Denken Sie daran, das Array zuzuweisen

0
Angus Lam

Schreiben Sie eine Sortierfunktion, die die relevanten Felder in zwei Wörterbüchern vergleicht. Wenn Sie diese Version haben, können Sie beispielsweise NSArray#sortedArrayUsingFunction:context: verwenden, um Ihr Array zu sortieren.

Siehe NSArray-Klassenreferenz

0
Stefan Arentz