Iphone 国家/州/城市的表格视图
我正在从Iphone 国家/州/城市的表格视图,iphone,objective-c,uitableview,nsarray,nsdictionary,Iphone,Objective C,Uitableview,Nsarray,Nsdictionary,我正在从JSONfeed下载一些关于国家、州及其城市的信息。我的最终数据结构如下所示: 一个NSArray,其中每个元素都保存一个NSDictionary。每个NSDictionary都有一个国家名称的键,以及一个与各州相对应的NSDictionary值。每个NSDictionarys都拥有州名的键和城市名列表的值 我想在表视图的不同部分显示每个国家。要返回国家数(也称为节数),我只需执行[countriesArray count] 然而,要返回每个国家的州和城市数量,这在我目前的结构中似乎是不
JSON
feed下载一些关于国家、州及其城市的信息。我的最终数据结构如下所示:
一个NSArray
,其中每个元素都保存一个NSDictionary
。每个NSDictionary
都有一个国家名称的键,以及一个与各州相对应的NSDictionary
值。每个NSDictionary
s都拥有州名的键和城市名列表的值
我想在表视图的不同部分显示每个国家。要返回国家数(也称为节数),我只需执行[countriesArray count]
然而,要返回每个国家的州和城市数量,这在我目前的结构中似乎是不可能的。我可以访问[countriesArray objectAtIndex:index]
,但在这之后,我如何访问该词典的值(键是国家的名称)
我应该重组我的数据结构吗?如果是这样,对此类数据进行排序的最佳方法是什么?您可以使用可折叠的tableview来处理此问题
您可以根据需要显示相关数据。您可以使用下面的数据结构,这可能会有所帮助
以NSDictionary作为其对象的容器NSArray。
每个字典都有固定的键,如:countryName和stateInfo。
该键的值为:string和NSDictionary
每个stateInfo字典都应该有固定键,如:stateName、cities
此键的值将为:城市的字符串和NSarray。NSarray*countryKeys=[countriesArray allKeys]//将返回所有密钥(国家名称)的数组
此外,您应该执行[countriesArray valueForKey:[countryKeys objectAtIndex:index];而不是执行[countriesArray objectAtIndex:index] 可折叠的tableview引用此链接请告诉我您的应用程序中有数据库?如果你使用网络呼叫来驱动你的用户界面,我感觉你的应用程序会遇到比你想要的更多的麻烦。