</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;
}
代码中已给出详细注释