Objective--C 遍历输出对应省市区

 // 引入文件路径

    NSString *path = @"/Users/dllo/Desktop/boke/boke/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];

            NSMutableDictionary *cityDic = [proDic[@"cityArr"] lastObject];

            NSMutableArray *zoneArr = cityDic[@"zoneArr"];

            // 把区名放进区数组,区数组只包含区名

            [zoneArr addObject:temp];

        }

    }

    

    // 遍历输出

    // 输出省名

    for (NSDictionary *proDic in proArr) {

        NSLog(@"%@",proDic[@"proName"]);

        // 找到省字典中的市数组

        NSMutableArray *cityArr = proDic[@"cityArr"];

        // 在市数组中的市字典中遍历输出市名

        for (NSDictionary *cityDic in cityArr) {

            NSLog(@"%@",cityDic[@"cityName"]);

            // 找到市字典中的区数组

            NSMutableArray *zoneArr = cityDic[@"zoneArr"];

            // 遍历输出区名

            for (NSDictionary *temp in zoneArr) {

                NSLog(@"%@",temp);

            }

        }

    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值