我正在从JSON
Feed中下载有关国家/地区,州及其城市的一些信息。我的最终数据结构的方式如下:
NSArray
,其中每个元素都包含NSDictionary
。每个NSDictionary
都有key
个国家/地区的名称,value
的{{1}}与州相对应。其中每个NSDictionary
都拥有状态名称的NSDictionary
和数组的key
,其中包含城市名称列表。
我想在表格视图中的不同部分显示每个国家/地区。要返回国家/地区(也就是部分的数量),我可以value
。
但是,为了返回每个国家的州和城市的数量,这对我目前的结构来说似乎是不可能的。我可以访问[countriesArray count]
,但之后,如何访问该字典的值(密钥是国家/地区的名称)?
我应该重构我的数据结构吗?如果是这样,那么对这类数据进行排序的最佳方法是什么?
答案 0 :(得分:1)
您可以使用可折叠的tableview
来处理此问题您可以根据需要显示相关数据。
答案 1 :(得分:0)
您可以使用以下数据结构,这可能有所帮助。
以NSDictionary为对象的容器NSArray。 每个字典都有固定的键,如:countryName和stateInfo。 此键的值为:string和NSDictionary。
每个stateInfo字典都应该有固定的键,如:stateName,cities 这个键的值将是:string和NSarray of cities。
答案 2 :(得分:0)
NSArray * countryKeys = [countriesArray allKeys]; //将返回所有键(国家/地区名称)的数组。
此外,你应该做[countriesArray valueForKey:[countryKeys objectAtIndex:index]];而不是做[countriesArray objectAtIndex:index];