object-c省市区排序
//获取文件路径
NSString *path = [[NSBundle mainBundle]pathForResource:@"area" ofType:@"txt"];
//根据路径产生相应的字符串
NSString *string = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
//对字符串进行逐行分割封装为数组
NSArray *array = [string componentsSeparatedByString:@"\n"];
//获取路径方式2
// NSString *path = @"/Users/lan/Desktop/IOS培训/Lesson_OC_07/Lesson_OC_07/area.txt";
// NSString *pathString = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
// NSArray *array = [pathString componentsSeparatedByString:@"\n"];
// NSLog(@"%@",pathString);
//创建省数组
NSMutableArray *proArr = [NSMutableArray array];
//遍历获得数组里每个元素(字符串)
for (NSString *str in array) {
//判断如果不是两间隔就创建一个新的省字典,并添加键值对来获取相对应省份名字
if (![str hasPrefix:@" "]) {
NSMutableDictionary *proDic = [NSMutableDictionary dictionary];
[proDic setObject:str forKey:@"proName"];
//创建市数组 包含于省字典,并把市数组作为第二对键值对添加到省字典中
NSMutableArray *cityArr = [NSMutableArray array];
[proDic setObject:cityArr forKey:@"cityArr"];
//把省字典放于省数组之中
[proArr addObject:proDic];
}else if ([str hasPrefix:@" "] && ![str hasPrefix:@" "]){
//判断如果为两个间隔,创建市字典并添加键值对获取相对应城市名字
NSMutableDictionary *cityDic = [NSMutableDictionary dictionary];
[cityDic setObject:str forKey:@"cityName"];
//创建区数组 包含于市字典,并把区数组作为第二对键值对添加到市字典中
NSMutableArray *zoneArr = [NSMutableArray array];
[cityDic setObject:zoneArr forKey:@"zoneArr"];
//先给市字典找到对应省字典的位置,然后找对应的市数组,将市字典放于市数组中
NSMutableDictionary *proDic = [proArr lastObject];
NSMutableArray *cityArr = [proDic objectForKey: @"cityArr"];
[cityArr addObject:cityDic];
}else{
NSMutableDictionary *proDic = [proArr lastObject];//先查找出隶属的省字典
NSMutableArray *cityArr = [proDic objectForKey: @"cityArr"];//然后查找市数组
NSMutableDictionary *cityDic = [cityArr lastObject];//然后查找市字典
NSMutableArray *zoneArr = [cityDic objectForKey: @"zoneArr"];//再查找区数组
//将剩下元素给到区数组中
[zoneArr addObject:str];
}
}
//遍历省数组
for (NSMutableDictionary *dic in proArr) {
NSLog(@"%@",[dic objectForKey:@"proName"]);
//省字典中创建市数组,遍历市数组
NSMutableArray *cityArr = [dic objectForKey: @"cityArr"];
for (NSMutableDictionary *cityDic in cityArr) {
NSLog(@"%@",[cityDic objectForKey: @"cityName"]);
//省字典的市字典中创建区数组,遍历区数组
NSMutableArray *zoneArr = [cityDic objectForKey: @"zoneArr"];
for (NSString *str in zoneArr) {
NSLog(@"%@",str);
}
}
}