Ich habe ein Array von benutzerdefinierten Objekten, die ich vom Server bekomme.NSSortDescriptor Sortieren von Daten im Zufallsformat
Ich möchte Daten basierend auf Kosten sortieren. Ihr ist ein totalCost
Feld in meinem Array, das vom Typ NSString
ist.
Jetzt bin ich mit NSSortDescriptor
wie folgt aus:
NSSortDescriptor *sortDescriptrCost;
sortDescriptrCost = [[NSSortDescriptor alloc] initWithKey:@"totalCost"
ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObjects:sortDescriptrCost,nil];
NSArray *sortedArray = [unchnagedOriginalData sortedArrayUsingDescriptors:sortDescriptors];
Nun, wenn die Kosten mehr als 100
dann ist es gut zu sortieren. Aber wenn die Daten enthält cost
less than 100
die Sortier breaks.Here ist die Ausgabe:
Dies ist die sortierter Reihenfolge erhalte ich:
113--totalCost
113--totalCost
120--totalCost
149--totalCost
182--totalCost
255--totalCost
259--totalCost
263--totalCost
263--totalCost
67--totalCost
80--totalCost
da es eine Zeichenkette, wird nach Ascii-Wert statt nach Zahlenwert sortiert. – hola
Sortieren Sie keine Zeichenfolgen, als wären sie Zahlen. "8"> "6"> "1", deshalb sortiert 67 nach den anderen und 80 danach. – Avi
Ihr Gesamtkosten scheint wie eine Schnur .. so versuchen Sie es aus. Ändern Sie Ihren Schlüssel Wert zu "totalCost.intValue" oder "totalCost.integerValue" –