从 NSDictionary 获取数据



我有两个 json 文件,它们通过键country_id(一个国家 - 许多城市)链接,数据来自我用 NSDictionary s 编写的 json 文件。

问:如果我从第一个NSDictionary(国家数据词典)中选择了一个国家,如何在其他词典(城市数据词典)中显示绑定到所选country_id的所有数据?


我试过什么?

我尝试下一步:检查第二NSDictionary(城市数据字典)的所有键值是否等于选定的county_id

    //dict3 - dictionary of cities data
  for (int i = 0; i<=[[dict3 valueForKey:@"country_id"] count];i++)
      {
      if ([[[dict3 valueForKey:@"country_id"] objectAtIndex:i] isEqualToString:appDelegate.idSelectedCountry])
      {
        NSLog(@"object %@",[nameCities objectAtIndex:i]);   //array of cities name
      }} 

但是因为我的 JSON 文件非常大,所以计算时间太长了。

您应该将核心数据用于此类事情,并在城市和国家实体上建立关系。 它会更快、更正确。看看这个教程:http://www.raywenderlich.com/934/core-data-on-ios-5-tutorial-getting-started

更新:如果你出于某些原因真的像现在这样使用NSDictionary,你至少可以使用块。它比循环快一点:

[dictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop){
    [self processKey:key value:obj];
}];

最新更新