省市区字典

// 准备工作
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);
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值