0

我正在从JSON有关国家、州及其城市的提要中下载一些信息。我最终数据结构的方式如下:

一个NSArray,其中每个元素都有一个NSDictionary。每个NSDictionary都有一个key国家名称和value一个NSDictionary对应于州的名称。每个NSDictionarys 都包含一个key州名和一个value包含城市名称列表的数组。

我想在表格视图的不同部分显示每个国家/地区。要返回国家/地区的数量(也就是部分的数量),我可以这样做[countriesArray count]

但是,要返回每个国家/地区的州和城市的数量,这在我目前的结构中似乎是不可能的。我可以访问[countriesArray objectAtIndex:index],但在那之后,我怎样才能访问该字典的值(键是国家/地区的名称)?

我应该重构我的数据结构吗?如果是这样,对此类数据进行排序的最佳方法是什么?

4

3 回答 3

1

您可以使用可折叠的 tableview 来处理这个问题

从此您可以根据需要显示相关数据。

于 2012-06-19T04:24:56.210 回答
0

您可以拥有以下数据结构,这可能会有所帮助。

一个以 NSDictionary 为对象的容器 NSArray。每个字典都有固定的键,例如:countryName 和 stateInfo。此键的值将是:字符串和 NSDictionary。

每个 stateInfo 字典都应该有固定的键,例如:stateName,city 这个键的值是:string 和 NSarray of city。

于 2012-06-19T04:25:48.443 回答
0

NSArray *countryKeys = [countriesArray allKeys]; //将返回一个包含所有键(国家名称)的数组。

此外,不要执行 [countriesArray objectAtIndex:index],而应执行 [countriesArray valueForKey:[countryKeys objectAtIndex:index]];

于 2012-06-19T06:15:55.980 回答