Hallo Zusammen,
ich baue mir gerade eine News-Liste bei der nach Datum und nach der Uhrzeit sortiert werden soll.
Die Section meiner UITableView sind das Datum - die Sortierung (hier als Array kommend) funktioniert einwandfrei.
Komplizierter wird es mit den einzelnen News in einer Section. Diese hole ich ebenfalls aus einem JSON-String, packe alles in ein Dictionary und verarbeite es dann weiter.
Leider kann man Dictionary nicht sortieren - ich weiß. Man kann natürlich die Keys sortieren - aber was habe ich dann gewonnen?
Schaut mal, so sieht es im Augenblick aus (funktioniert nur nicht, das übergeben des "sortedTempDicionarys allValues" ist witzlos, da - natürlich - völlig unsortiert. Ich stehe etwas aufm Schlauch Leute. Wie würdet ihr das lösen?
Alles anzeigen
LG und danke im voraus,
Florian
ich baue mir gerade eine News-Liste bei der nach Datum und nach der Uhrzeit sortiert werden soll.
Die Section meiner UITableView sind das Datum - die Sortierung (hier als Array kommend) funktioniert einwandfrei.
Komplizierter wird es mit den einzelnen News in einer Section. Diese hole ich ebenfalls aus einem JSON-String, packe alles in ein Dictionary und verarbeite es dann weiter.
Leider kann man Dictionary nicht sortieren - ich weiß. Man kann natürlich die Keys sortieren - aber was habe ich dann gewonnen?
Schaut mal, so sieht es im Augenblick aus (funktioniert nur nicht, das übergeben des "sortedTempDicionarys allValues" ist witzlos, da - natürlich - völlig unsortiert. Ich stehe etwas aufm Schlauch Leute. Wie würdet ihr das lösen?
Quellcode
-
- NSArray* sortedKeys = [[tempNewsDictionaries allKeys] sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {
- NSDateFormatter *dateFormater = [[NSDateFormatter alloc] init];
- [dateFormater setDateFormat:@"HH:mm"];
- NSString *date1String = b;
- NSString *date2String = a;
- NSDate *date1 = [dateFormater dateFromString:date1String];
- NSDate *date2 = [dateFormater dateFromString:date2String];
- return [date1 compare:date2];
- }];
- NSMutableDictionary* sortedTempDictionary = [[NSMutableDictionary alloc] init];
- for (NSString* timeKey in sortedKeys)
- {
- NSLog(@"timeKey: %@", timeKey);
- [sortedTempDictionary setObject:[tempNewsDictionaries valueForKey: timeKey] forKey:timeKey];
- }
- // Save Dictionarys im Haupt-News-Dictionary:
- [sortedNewsDctionary setObject:[sortedTempDictionary allValues] forKey:[NSString stringWithFormat:@"%@",lastDateString]];
LG und danke im voraus,
Florian