从NSDrray的NSDictionary对象,如何获得独特的NSArray

时间:2012-04-12 03:43:22

标签: ios nsarray

我正在编写一个应用相册相册的应用。

我有以下列出专辑的JSON文档。

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

如您所见,相册位于类别中。

我已经使用NSJSONSerialization类将它带入一个NSDictionary对象,该对象包含NSDrray的NSArray(根据上述JSON的“模式”)。

由此,我想生成一个独特的类别NSDictionary对象的NSArray。类似的东西:

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

精简stackoverflow,我发现了一些看似很好的构建块的东西

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

但显然只会生成NSStrings的NSArray。我想要的是它是NSDiction的NSArray,其中有两个对象,其中包含键“id”和“Name”。我似乎无法将所有内容放在一起以获得我想要的东西,而没有嵌套if循环的穷人/暴力方法。我想我正在寻找NSDictionary或NSArray类的一些实用方法,可以帮助我更快地完成这项工作。

感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:0)