省市区字典

来源:互联网 发布:手机捕鱼游戏算法 编辑:程序博客网 时间:2024/05/18 02:42

// 准备工作
NSString *path=@”/Users/dlios/Desktop/内容/OC06_省市区字典数组/OC06_省市区字典数组/area.txt”;
// 跟据路径产生相应字符串
NSString *str=[NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
// 对字符串逐行进行切割
NSArray *strArr=[str componentsSeparatedByString:@”\n”];

// 创建一个省数组NSMutableArray *proArr=[NSMutableArray array];for (NSString *temp in strArr) {    if (![temp hasPrefix:@" "]) {        // 创建一个省的字典        NSMutableDictionary *proDic=[NSMutableDictionary dictionary];        // 给省字典添加键值对        // 省名        [proDic setObject:temp forKey:@"proName"];        // 创建一个市数组        NSMutableArray *cityArr=[NSMutableArray array];        // 添加到省字典中        [proDic setObject:cityArr forKey:@"cityArr"];        // 把省字典放入到省数组中        [proArr addObject:proDic];    }else if ([temp hasPrefix:@"  "]&&(![temp hasPrefix:@"    "])){        // 找到对应的城市        // 创建市字典        NSMutableDictionary *cityDic=[NSMutableDictionary dictionary];        // 第一对 市名        [cityDic setObject:temp forKey:@"cityName"];        // 第二对 区数组        NSMutableArray *zoneArr=[NSMutableArray array];        [cityDic setObject:zoneArr forKey:@"zoneArr"];        // 给市字典找一个位置        // 先找到对应的省字典        NSMutableDictionary *proDic=[proArr lastObject];        // 再找到对应的市数组        NSMutableArray *cityArr=proDic[@"cityArr"];        [cityArr addObject:cityDic];    }else{        // 先找省字典        NSMutableDictionary *proDic=[proArr lastObject];        // 市数组        NSMutableArray *cityArr=proDic[@"cityArr"];        // 市字典        NSMutableDictionary *cityDic=[cityArr lastObject];        // 区数组        NSMutableArray *zoneArr=cityDic[@"zoneArr"];        // 添加        [zoneArr addObject:temp];    }}// forin遍历一下省数组for (NSMutableDictionary *proDic in proArr) {    NSLog(@"%@",proDic[@"proName"]);    NSMutableArray *cityArr=proDic[@"cityArr"];    for (NSMutableDictionary *cityDic in cityArr) {        NSLog(@"%@",cityDic[@"cityName"]);        NSMutableArray *zoneArr=cityDic[@"zoneArr"];        for (NSString *temp in zoneArr) {            NSLog(@"%@",temp);        }    }}
0 0