0

我有两个 json 文件,它们由 key country_id (一个国家 - 许多城市)链接,数据来自我在NSDictionarys 中编写的 json 文件。

问题:如果我从第一个NSDictionary(国家数据字典)中选择一个国家,如何在其他字典(城市数据字典)中显示绑定到所选国家 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 文件很大,所以计算时间太长。

4

1 回答 1

1

您应该将核心数据用于此类事情,并与 City 和 Country 实体建立关系。它会更快,更正确。看这个教程: 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];
}];
于 2012-04-30T13:50:45.770 回答