2012-04-12 14 views
1

Ich schreibe eine App, die sich mit Alben von Bildern beschäftigt.Von NSArray von NSDictionary-Objekten, wie man ein NSArray von Uniques bekommt

Ich habe das folgende JSON-Dokument, das Alben auflistet.

{ 
    "Albums": [ 
    { 
     "id": 1234, 
     "Title": "My Birthday 2008", 
     "Category": { 
     "id": 0, 
     "Name": "Birthdays" 
     } 
    }, 
    { 
     "id": 5678, 
     "Title": "Disneyland Trip 2010" 
     "Category": { 
     "id": 1, 
     "Name": "Trips" 
     }, 
    } 
    ] 
} 

Wie Sie sehen können, befinden sich Alben in Kategorien.

Ich habe die NSJSONSerialization-Klasse verwendet, um dies in ein NSDictionary-Objekt zu bringen, das ein NSArray von NSDictionaries enthält (nach dem "Schema" des obigen JSON).

Von diesem möchte ich ein NSArray von eindeutigen NSDictionary-Kategorien-Objekten generieren. Etwas wie:

{ 
    "Categories": [ 
    { 
     "id": 0, 
     "Name" : "Birthdays" 
    }, 
    { 
     "id": 1, 
     "Name" : "Trips" 
    }, 
    ] 
} 

Scheuern Stackoverflow, habe ich einige Dinge gefunden, die wie gute Bausteine ​​scheinen

categories = [albums valueForKeyPath:@"@distinctUnionOfObjects.Category.Name"]; 

aber offensichtlich erzeugt nur eine NSArray von NSStrings. Was ich will, ist ein NSArray von NSDictionaries, das zwei Objekte mit den Schlüsseln "id" und "Name" enthält. Ich kann nicht alles zusammensetzen, um zu bekommen, was ich will, ohne die Poorman/Brute-Methode von verschachtelten If-Loops. Ich denke, ich suche nach einer Hilfsmethode für die NSDictionary- oder NSArray-Klassen, die mir dabei helfen können, dies schneller zu machen.

Jede Hilfe wird geschätzt, danke.

+0

Verwendung JSON/SBJSON/JSON-Parser diesen Job zu machen, verwenden Sie sollten nicht hier KVC – dayitv89

+0

@ Steven, können Sie bitte einige Arbeitscode zeigen. – Vats

Antwort

Verwandte Themen