❀自我唠嗑OC-省市区排序

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);
            }
        }
    }
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值