省市区(简版)

//

//  main.m

//  省市区(简版)

//

//  Created by dllo on 16/2/27.

//  Copyright © 2016年 dllo. All rights reserved.

//

#import <Foundation/Foundation.h>

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

    @autoreleasepool {

        NSString *fileStr = [NSString stringWithContentsOfFile:@"/Users/dllo/Desktop/C语言/C01_work/folder/c02_分支结构/C02_test/循环结构/C03_循环结构/c04_数组/C04_数组/附加题/OC/miku/C_8函数/oc_new/C_09结构体/C-10-指针/manageOfStuInfo/StudentTest/类和对象/继承 /Fraction/review/省市区(简版)/省市区(简版)/area.txt" encoding:NSUTF8StringEncoding error:nil];

        

        

        NSArray *lineArray = [fileStr componentsSeparatedByString:@" "];

        NSLog(@"%@", lineArray);

        NSMutableDictionary *china = [NSMutableDictionary dictionaryWithCapacity:40];

        NSString *provinceName = [[NSString alloc]init];

        NSString *cityName = @"";

        for (NSString *name in lineArray) {

            if (![name hasPrefix:@" "]) {

                /**把刚才的字典添加到china字典里, key是声明, value是字典 */

                NSMutableDictionary *provinceDic = [NSMutableDictionary dictionaryWithCapacity:20];

                [china setObject:provinceDic forKey:name];

                /**把省名记录下来, 为了下面可以取到相应的省的字典 */

                provinceName = name;

            }else if(![name hasPrefix:@"    "]){

                /**name是市名 */

                /**创建一个数组, 用来存储区名*/

                NSMutableArray *array = [NSMutableArray arrayWithCapacity:30];

                /**从china中取出相应的字典 */

                NSMutableDictionary *tempDic = [china objectForKey:provinceName];

                /**向数组中添加 key为市名, value为数组 */

                cityName = name;

                [tempDic setObject:array forKey:name];

            }else{

                /** name 是区名 */

                 /** 取出数组 */

                NSMutableArray *tempArray = [[china objectForKey:provinceName]objectForKey:cityName];

                /** 向数组中添加区名  */

                [tempArray addObject:name];

            }

        }

        NSLog(@"%@", china);

        NSData *data = [NSJSONSerialization dataWithJSONObject:china options:NSJSONWritingPrettyPrinted error:nil];

        NSString *str = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];

        NSLog(@"%@", str);

    }

    return 0;

}

area.txt

北京 1
北京市 1
西城区 1
东城区 2
崇文区 3
宣武区 4
朝阳区 5
丰台区 6
石景山区 7
海淀区 8
门头沟区 9
房山区 10
通州区 11
顺义区 12
昌平区 13
大兴区 14
怀柔区 15
平谷区 16
密云区 17
延庆区 18
天津 2
天津市 2
和平区 19
河东区 20
河西区 21
南开区 22
河北区 23
红桥区 24
塘沽区 25
汉沽区 26
大港区 27
东丽区 28
西青区 29
津南区 30
北辰区 31
武清区 32
宝坻区 33
宁河县 34
静海县 35
蓟县 36
河北 3
石家庄市 3
长安区 37
桥东区 38
桥西区 39
新华区 40
井陉矿区 41
裕华区 42
辛集市 43
藁城市 44
晋州市 45
新乐市 46
鹿泉市 47
井陉县 48
正定县 49
栾城县 50
行唐县 51
灵寿县 52
高邑县 53
深泽县 54
赞皇县 55
无极县 56
平山县 57
元346260217县 58
赵县 59
唐山市 4
路北区 60
路南区 61
古冶区 62
开平区 63
丰南区 64
丰润区 65
遵化市 66
迁安市 67
滦 县 68
滦南县 69
乐亭县 70
迁西县 71
玉田县 72
唐海县 73
秦皇岛市 5
海港区 74
山海关区 75
北戴河区 76
昌黎县 77
抚宁县 78
卢龙县 79
青龙满族自治县 80
经济开发区 81
邯郸市 6
丛台区 82
邯山区 83

原文地址:https://www.cnblogs.com/mafeng/p/5223216.html