OC用字典数组创建省市区

来源:互联网 发布:手机照片排版软件 编辑:程序博客网 时间:2024/05/22 17:11

//获取文件路径    NSString *path = @"/Users/lan/Desktop/ios开发/百度云同步盘/iOS学习/OC课程/练习/第七天/1234/1234/area.txt";    //根据路径产生相应的字符串    NSString *string = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];    //对字符串进行逐行的切割    NSArray *array = [string componentsSeparatedByString:@"\n"];        //大数组    NSMutableArray *mutableArray = [NSMutableArray array];    for (NSString *str  in array) {                //判断前缀为非空格字符,找出省        if (![str hasPrefix:@" "]) {                        //每找到一个省名字,创建一个省字典            NSMutableDictionary *proDic = [NSMutableDictionary dictionary];                        //将省名存入省字典,并设置Key为provin            [proDic setObject:str forKeyedSubscript:@"provin"];                        //创建一个市数组,作为存下属市用            NSMutableArray *cityArray = [NSMutableArray array];                        //将市数组存入省字典,设置Key为cityarray            [proDic setObject:cityArray forKeyedSubscript:@"cityarray"];                        //将省字典存入大数组中                          //mutableArray数组增加一个元素            [mutableArray addObject:proDic];        }        //判断前缀为两个空格字符并且非四个空格字符,找出市        if ([str hasPrefix:@"  "] && ![str hasPrefix:@"    "]) {                        //取出数组最后一个元素,代表市所隶属的省字典            NSDictionary *proDic = [mutableArray lastObject];                        //将字典中预留的市数组取出            NSMutableArray *cityArray = [proDic objectForKey:@"cityarray"];                        //每找到一个市,创建一个市字典            NSMutableDictionary *cityDic = [NSMutableDictionary dictionary];                        //将市名字存入市字典            [cityDic setObject:str forKeyedSubscript:@"city"];                        //为下属区域创建个区数组作为预留            NSMutableArray *areaArray = [NSMutableArray array];                        //将区数组存入市字典            [cityDic setObject:areaArray forKeyedSubscript:@"areaarray"];                        //将市字典存入市数组中            [cityArray addObject:cityDic];        }        //判断前缀为四个空格字符,找出区        if ([str hasPrefix:@"    "]) {                        //找出隶属的省字典            NSDictionary *proDic = [mutableArray lastObject];                        //找出市数组            NSMutableArray *cityArray = [proDic objectForKey:@"cityarray"];                        //找出存储市的字典            NSDictionary *cityDic = [cityArray lastObject];                        //找出市字典中区数组            NSMutableArray *areaArray = [cityDic objectForKey:@"areaarray"];                        //将区域名字存入数组            [areaArray addObject:str];        }    }    for (NSDictionary *dic in mutableArray) {        NSLog(@"%@",[dic objectForKey:@"provin"]);        for (NSDictionary *cityDic in [dic objectForKey:@"cityarray"]) {            NSLog(@"%@",[cityDic objectForKey:@"city"]);            for (NSString *string in [cityDic objectForKey:@"areaarray"]) {                NSLog(@"%@",string);            }        }    }

0 0