与国家/州/城市的表格视图

时间:2012-06-19 04:16:52

标签: iphone objective-c uitableview nsarray nsdictionary

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

NSArray,其中每个元素都包含NSDictionary。每个NSDictionary都有key个国家/地区的名称,value的{​​{1}}与州相对应。其中每个NSDictionary都拥有状态名称的NSDictionary和数组的key,其中包含城市名称列表。

我想在表格视图中的不同部分显示每个国家/地区。要返回国家/地区(也就是部分的数量),我可以value

但是,为了返回每个国家的州和城市的数量,这对我目前的结构来说似乎是不可能的。我可以访问[countriesArray count],但之后,如何访问该字典的值(密钥是国家/地区的名称)?

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

3 个答案:

答案 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];