Objective-C 经典字典数组排序 - 省市区
1.首先要准备好包含所有省市区的文档,将文档拖到我们建好的Xcode里
2.然后新建一个路径NSString*path=@""; 再将省市区文档拖到@" "中;
3.在进行排序前,我们首先要先滤清思路:这答题的难题是在于如何将字典装入数组,再把数组装入字典,所以关键点就在于如何通过嵌套将每个字典与数组归到于它们相对应的数组与字典里 提供一个小思路:数组->字典->数组->字典->数组
- 首先我们要建立一个包含所有省市区的省数组
- 然后再建立一个省字典(包含省名和市数组)
- 再建立一个市字典(同理包含市名和区数组)
- 建立好相应的字典和数组后,我们只要将所有的市,区通过嵌套存入相对应的数组即可
4.完成上面的准备工作后,我们就可以开始进行省市区的排序了
根据路径产生相应的字符
tring*str=[NSStringstringWithContentsOfFile:pathencoding:NSUTF8StringEncodingerror:nil];
对字符串进行切割成为数组
NSArray*array=[strcomponentsSeparatedByString:@"\n"];
建立一个大数组
NSMutableArray*mutableArray=[NSMutableArrayarray];
for(NSString*strinarray){
判断非空格字符,找出省
if(![strhasPrefix:@""]){
每找到一个省名字,就创建一个字典
NSMutableDictionary*proDic=[NSMutableDictionarydictionary];
将省名存入字典,并设置Key为PROVIN
[proDicsetObject:strforKeyedSubscript:@"PROVIN"];
创建一个数组,作为存下属市用
NSMutableArray*cityArray=[NSMutableArrayarray];
将市数组存入字典,设置key位CITYARRAY
[proDicsetObject:cityArrayforKeyedSubscript:@"CITYARRAY"];
[mutableArrayaddObject:proDic];
}
找到市名字
if([strhasPrefix:@""]&&![strhasPrefix:@""]){
取出数组最后一个元素,代表市所隶属的省字典
NSDictionary*proDic=[mutableArraylastObject];
将字典中预留的数组取出
NSMutableArray*cityArray=[proDicobjectForKey:@"CITYARRAY"];
每找到一个市,创建一个字典
NSMutableDictionary*cityDic=[NSMutableDictionarydictionary];
将市名字存入字典
[cityDicsetObject:strforKey:@"CITY"];
给下属区域创建个数组作为预留
NSMutableArray*areaArray=[NSMutableArrayarray];
存入字典
[cityDicsetObject:areaArrayforKey:@"AREAARRAY"];
将市字典存入数组中
[cityArrayaddObject:cityDic];
}
找出下属区
if([strhasPrefix:@""]){
找出隶属的省字典
NSDictionary*proDic=[mutableArraylastObject];
找出市数组
NSMutableArray*cityArray=[proDicobjectForKey:@"CITYARRAY"];
找出存储市的字典
NSDictionary*cityDic=[cityArraylastObject];
找出字典中区数区
NSMutableArray*areaArray=[cityDicobjectForKey:@"AREAARRAY"];
将区域名字存入数组
[areaArrayaddObject:str];
}
}
for(NSDictionary*dicinmutableArray){
NSLog(@"%@",[dicobjectForKey:@"PROVIN"]);
for(NSDictionary*cityDicin[dicobjectForKey:@"CITYARRAY"]){
NSLog(@"%@",[cityDicobjectForKey:@"CITY"]);
for(NSString*stringin[cityDicobjectForKey:@"AREAARRAY"]){
NSLog(@"%@",string);
}
}
}</span></span>
以上就是对Objective-C经典字典数组排序的示例代码,谢谢大家对本站的支持!