OC顶用字典创建一个具有省市区的应用(简单的字典运用代码)

OC中用字典创建一个具有省市区的应用(简单的字典运用代码)
</pre><pre name="code" class="objc">#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

    // 准备工作
    NSString *path = @"/Users/dllo/Desktop/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 *dic in proArr) {
        NSLog(@"------------------");
        NSLog(@"%@",dic[@"proName"]);
        NSLog(@"------------------");
        NSMutableArray *cityArr = dic[@"cityArr"];
        for (NSMutableDictionary *cityDic in cityArr) {
            NSLog(@"%@",cityDic[@"cityName"]);
                NSLog(@"***************");
            NSMutableArray *zoneArr = cityDic[@"zoneArr"];
            for (NSString *str in zoneArr) {
                NSLog(@"%@",str);
                NSLog(@"***************");
            }
        }
    }


    
    
    
    
    return 0;
}
代码中已给出详细注释

版权声明:本文为博主原创文章,转载请注明原文地址

1楼adsl2812358昨天 20:35
这么快就能发出来了?
Re: u011752406昨天 20:55
回复adsl2812358 这是电脑上打好复制的呀.