Ich habe eine NSArray, und ich sortieren sie durch sein Objekt „veröffentlicht“ Eigenschaft in absteigender Reihenfolge, neueste zuerst:Wie NSArray in NSDictionary von NSDate des Array-Objekts Tag des Jahres aufzuteilen?
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"published" ascending:YES];
NSArray *descps = [[NSArray alloc] initWithObjects:[sortDescriptor reversedSortDescriptor], nil];
[storiesLocal sortUsingDescriptors:descps];
[descps release];
[sortDescriptor release];
So, jetzt möchte ich von jedem Tag dieses Array aufzuteilen, so dass ich benutze es mit einem UITableView. In meinem Beispiel wäre jedes Datum ein Tabellenansichts-Header. Also, wenn mein Beispiel sortiert Array (storiesLocal) Daten wie solche hatte:
2010-04-05 10:32:00
2010-04-05 06:20:12
2010-04-02 09:23:02
2010-04-02 03:20:34
2010-04-01 04:22:34
Dann würde ich Tableview-Header wie "April-5", "April-2", "1. April" haben. Daher würde jeder 2, 2 und 1 Zeile unter jedem entsprechenden Header haben
Im Wesentlichen wäre mein gewünschtes Ergebnis ein NSDictionary. Es ist jeder Schlüssel wäre ein Datum (2010-04-02), jeder Wert wäre ein NSArray der richtigen Objekte, um damit zu gehen. Alle diese sollten nach Datum sortiert sein. Das neuste zuerst.
Ich habe ungefähr 3 Versuche durchlaufen und ist jedes Mal gescheitert, den Code löschend, den ich schrieb.
Bearbeiten: Da ein NSDictionary eine ungeordnete Liste ist, könnte es besser sein, ein Array von Wörterbüchern zu haben, jedes dict enthält einen Schlüssel für das Datum und einen Schlüssel für das stories-Array, da die Reihenfolge sehr wichtig ist.