OC_省市区字典

来源:互联网 发布:武器实验室5级升级数据 编辑:程序博客网 时间:2024/05/17 09:11

(一). 省市字典

1.创建文件接收路径.NSString *path = @"/Users/dlios/Desktop/新OC/OC08_字典/OC08_字典/area(省市版).txt";2.根据文件路径产生相应字符串.NSError *error = nil;NSString *str = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];// 判断如果错误出现,error不为空,打印错误信息.if(error) {    NSLog(@"%@", error);}NSLog(@"%@", str)3.将字符串切割成小的字符串放入数组中.NSArray *array = [str componentsSeparatedByString:"@\n"];4.创建省数组.NSMutableArray *provinceArray = [NSMutableArray array];5.遍历数组,找到符合条件的省名.for (NSString *tempStr in array) {    // 如果前缀没有空格.    if (![tempStr hasPrefix:@" "])    // 创建省字典.    NSMutableDictionary *provinceDictionary = [NSMutableDictionary dictionary];    // 把找到的省名放入省字典(用key值标记:forKey:@"provinceName").    [provinceDictionary setObject:tempStr forKey:@"provinceName"];    // 创建市数组.    NSMutableArray *cityArray = [NSMutableArray array];    // 把市数组放入省字典(用key值标记:forKey:@"cityArray").    [provinceDictionary setObject:cityArray forKey:@"cityArray"];    // 把省字典放入省数组.    [provinceArray addObject:provinceDictionary];} else {    // 找到省字典(省数组的最有一个位置).    NSMutableDictionary *provinceDictionaty = provinceArray.lastObject;    // 找到市数组(省字典中forKey:@"cityArray").    NSMutableArray *cityArray = provinceDictionary[@"cityArray"];    // 将市名添加到市数组.    [cityArray addObject:tempStr];    }}// 打印省数组.NSLog(@"%@", provinceArray);

(二).省市区字典

1.创建文件接收路径.NSString *path = @“/Users/dlios/Desktop/新OC/OC08_字典/OC08_字典/area(省市版).txt”;2.根据文件路径产生相应字符串.NSError *error = nil;NSString *str = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];// 判断如果错误出现,error不为空,打印错误信息.if(error) {    NSLog(@"%@", error);}NSLog(@"%@", str)3.将字符串切割成小的字符串放入数组中.NSArray *array = [str componentsSeparatedByString:@"\n"];4.创建省数组.NSMutableArray *provinceArray = [NSMutableArray array];5.遍历数组,找到符合条件的省名.for (NSString *tempStr in array) {    // 如果前缀没有空格.    if (![tempStr hasPrefix:@" "]) {        // 创建省字典.        NSMutableDictionary *provinceDictionary = [NSMutableDictionary dictionary];        // 把找到的省名放入省字典(用key值标记:forKey:@"provinceName").        [provinceDictionary setObject:tempStr forKey:@"provinceName"];        // 创建市数组.        NSMutableArray *cityArray = [NSMutableArray array];        // 把市数组放入省字典(用key值标记:forKey:@"cityArray").        [provinceDictionary setObject:cityArray forKey:@"cityArray"];        // 将省字典放入省数组.        [provinceArray addObject:provinceDictionary];        // 如果有两个空格并且没有四个空格.    } else if ([tempStr hasPrefix:@"  "] && ![tempStr hasPrefix:@"    "]) {        // 创建市字典.        NSMutableDictionary *cityDictionary = [NSMutableDictionary dictionary];        // 把找到的市名放入市字典(用key值标记:forKey:@"cityName").        [cityDictionary setObject:tempStr forKey:@"cityName"];        // 创建区数组.        NSMutableArray *zoneArray = [NSMutableArray array];        // 把区数组放入市字典(用key值标记:forKey:@"zoneArray");        [cityDictionary setObject:zoneArray forKey:@"zoneArray"];        // 找到省字典(在省数组中的最后一个位置).        NSMutableDictionary *provinceDictionary = [provinceArray lastObject];        // 找到市数组(省字典中forKey:@"cityArray"对应的位置).        NSMutableArray *cityArray = provinceDictionary[@"cityArray"];        // 将市字典放入市数组.        [cityArray addObject cityDictionary];    } else {        // 找到省字典(在省数组中的最后一个位置).        NSMutableDictionary *provinceDictionary = [provinceArray lastObject];        // 找到市数组(省字典中forKey:@"cityArray"对应的位置).        NSMutableArray *cityArray = provinceDictionary[@"cityArray"];        // 找到市字典(在市数组中的最后一个位置).        NSMutableDictionary *cityDictionary = [cityArray lastObject];        // 找到区数组(市字典中forKey:@"zoneArray")对应的位置).        NSMutableArray *zoneArray = cityDictionary[@"zoneArray"];        // 将区名添加到区数组.        [zoneArray addObject:tempStr];    }}// 遍历省数组,得到省字典.for (NSMutableDictionary *provinceDictionary in provinceArray) {    // 找到省字典中的省名(forKey:@"provinceName"对应的位置).    NSLog(@"%@", provinceDictionary[@"provinceName"]);    // 找到省字典中的市数组(forKey:@"cityArray"对应的位置).    NSMutableArray *cityArray = provinceDictionary[@"cityArray"];    // 遍历市数组,得到市字典.    for (NSMutableDictionary *cityDictionary in cityArray) {        // 找到市字典中的市名(forKey:@"cityName"对应的位置).        NSLog(@"%@", cityDictionary[@"cityName"]);        // 找到市字典中的区数组(forKey:@"zoneArray"对应的位置).        NSMutableArray *zoneArray = cityDictionary[@"zoneArray"];        // 遍历区数组,得到区名.        for (NSString *str in zoneArray) {            // 打印区名.            NSLog(@"%@", str);        }    }}
0 0