省市区用字典实现
//
// main.m
// 省市县
//
// Created by dllo on 15/10/31.
// Copyright (c) 2015年 dllo. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
//*****************************************老师的版本****************************************//
NSString *filePath = @"/Users/dllo/Desktop/省市区/area.txt";
NSString *str = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
NSArray *arr = [str componentsSeparatedByString:@"\n"];
NSMutableArray *proArr = [NSMutableArray array];
NSMutableDictionary *proDic = nil;
NSMutableArray *cityArr = nil;
NSMutableDictionary *cityDic = nil;
NSMutableArray *quArr = nil;
for (NSString *temp in arr) {
if (![temp hasPrefix:@" "]) {
proDic = [NSMutableDictionary dictionary];
[proDic setObject:temp forKey:@"proName"];
cityArr = [NSMutableArray array];
[proDic setObject:cityArr forKey:@"cityArr"];
[proArr addObject:proDic];
} else if([temp hasPrefix:@" "] && ![temp hasPrefix:@" "])
{
cityDic = [NSMutableDictionary dictionary];
[cityDic setObject:temp forKey:@"cityName"];
quArr = [NSMutableArray array];
[cityDic setObject:quArr forKey:@"quArr"];
[cityArr addObject:cityDic];
// [[[proArr lastObject] valueForKey:@"cityArr"] addObject:cityDic];
} else {
[quArr addObject:temp];
// NSMutableDictionary *quDic =[NSMutableDictionary dictionary];
// [quDic setObject:temp forKey:@"quName"];
//[[[[[proArr lastObject]valueForKey:@"cityArr"]lastObject] valueForKey:@"quArr"]addObject:quDic];
}
}
//输出
for (NSMutableDictionary *proDic in proArr) {
NSLog(@"%@", [proDic valueForKey:@"proName"]);
for (NSMutableDictionary *cityDic in [proDic valueForKey:@"cityArr"]) {
NSLog(@"%@", [cityDic valueForKey:@"cityName"]);
for (NSString *temp in [cityDic valueForKey:@"quArr"]) {
NSLog(@"%@", temp);
}
}
}
//输出的第二种方法
// NSData *data = [NSJSONSerialization dataWithJSONObject:proArr
// options:NSJSONWritingPrettyPrinted error:nil];
//
//
//
// NSString *str1 = [[NSString alloc] initWithData:data
// encoding:NSUTF8StringEncoding];
// NSLog(@"%@",str1);
}
// NSString *filePath = @"/Users/dllo/Desktop/省市区/area.txt";
// NSString *str = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
// NSArray *arr = [str componentsSeparatedByString:@"\n"];
//
// NSMutableArray *proArr = [NSMutableArray array];
// for (NSString *temp in arr) {
// 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 *quArr = [NSMutableArray array];
// [cityDic setObject:quArr forKey:@"quArr"];
// [[[proArr lastObject] valueForKey:@"cityArr"] addObject:cityDic];
//
// } else {
// NSMutableDictionary *quDic = [NSMutableDictionary dictionary];
// [quDic setObject:temp forKey:@"quName"];
// [[[[[proArr lastObject] valueForKey:@"cityArr"] lastObject] valueForKey:@"quArr"] addObject:quDic];
//
// }
// }
// for (NSMutableDictionary *proDic in proArr) {
// NSLog(@"%@", [proDic valueForKey:@"proName"] );
// for (NSMutableDictionary *cityDic in [proDic valueForKey:@"cityArr"]) {
// NSLog(@"%@", [cityDic valueForKey:@"cityName"]);
// for (NSMutableDictionary *quDic in [cityDic valueForKey:@"quArr"] ) {
// NSLog(@"%@", [quDic valueForKey:@"quName"]);
// }
// }
// }
//
//}
// NSString *filePath = @"/Users/dllo/Desktop/省市区/area.txt";
// NSString *str = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
// NSArray *arr = [str componentsSeparatedByString:@"\n"];
// NSMutableArray *proArr = [NSMutableArray array];
// for (NSString *temp in arr) {
// 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 *quArr = [NSMutableArray array];
// [cityDic setObject:quArr forKey:@"quArr"];
// //给城市字典找一个位置
// NSMutableDictionary *proDic = [proArr lastObject];
// //[proArr lastObject]数组的最后一个元素
// //先找到对应的省字典
// //然后再找对应的市数组
// NSMutableArray *cityArr = proDic[@"cityArr"];
// //valueforkey,这里面是key
// [cityArr addObject:cityDic];
//
// } else {
//// 先找省字典
//// 先找省字典
// NSMutableDictionary *proDic = [proArr lastObject];
//// // 市数组
// NSMutableArray *cityArr = proDic[@"cityArr"];
//// // 市字典
// NSMutableDictionary *cityDic = [cityArr lastObject];
//// // 区数组
// NSMutableArray *quArr = cityDic[@"quArr"];
// // 添加
// [quArr addObject:temp];
// }
// }
// // forin遍历省数组名
// for (NSMutableDictionary *dic in proArr) {
//
// NSLog(@"%@",dic[@"proName"]);
//
// NSMutableArray *cityArr = dic[@"cityArr"];
// for (NSMutableDictionary *cityDic in cityArr) {
// NSLog(@"%@",cityDic[@"cityName"]);
//
// NSMutableArray *quArr = cityDic[@"quArr"];
// for (NSString *str in quArr) {
// NSLog(@"%@",str);
//
// }
// }
// }
//**************************************************第二种方法*****************************************************************
// NSString *filePath = @"/Users/dllo/Desktop/省市区/area.txt";
// NSString *str = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
// NSArray *arr = [str componentsSeparatedByString:@"\n"];
// NSMutableArray * proArr = [NSMutableArray array];
// for (NSString *tempStr in arr) {
// if (![tempStr hasPrefix:@" "]) {
// NSMutableDictionary *proDic = [NSMutableDictionary dictionary];
// NSMutableArray *cityArr = [NSMutableArray array];
// [proArr addObject:proDic];
// [proDic setObject:tempStr forKey:@"pro"];
// [proDic setObject:cityArr forKey:@"cityArr"];
//
// }else if ( [tempStr hasPrefix:@" "] && ![tempStr hasPrefix:@" "]) {
// NSMutableDictionary *cityDic = [NSMutableDictionary dictionary];
// NSMutableArray *areaArr = [NSMutableArray array];
// [[[proArr lastObject] valueForKey:@"cityArr"] addObject:cityDic];
// [cityDic setObject:tempStr forKey:@"city"];
// [cityDic setObject:areaArr forKey:@"areaArr"];
// }else {
// NSMutableDictionary *areaDic = [NSMutableDictionary dictionary];
// [[[[[proArr lastObject] valueForKey:@"cityArr"] lastObject] valueForKey:@"areaArr"] addObject:areaDic];
// [areaDic setObject:tempStr forKey:@"area"];
// }
// }
// for (NSMutableDictionary *pro in proArr) {
// NSLog(@"%@", [pro valueForKey:@"pro"]);
// for (NSMutableDictionary *city in [pro valueForKey:@"cityArr"]) {
// NSLog(@"%@", [city valueForKey:@"city"]);
// for (NSMutableDictionary *area in [city valueForKey:@"areaArr"]) {
// NSLog(@"%@", [area valueForKey:@"area"]);
// }
// }
// }
//}
/**********************************练习**************************************************************/
// NSString *filePath = @"/Users/dllo/Desktop/省市区/area.txt";
// NSString *str = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
// NSArray *arr = [str componentsSeparatedByString:@"\n"];
//
// NSMutableArray *proArr = [NSMutableArray array];
// for (NSString *temp in arr) {
// 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 *quArr = [NSMutableArray array];
// [cityDic setObject:quArr forKey:@"quArr"];
// [[[proArr lastObject] valueForKey:@"cityArr"] addObject:cityDic];
//
// } else {
// NSMutableDictionary *quDic = [NSMutableDictionary dictionary];
// [quDic setObject:temp forKey:@"quName"];
// [[[[[proArr lastObject] valueForKey:@"cityArr"] lastObject] valueForKey:@"quArr"] addObject:quDic];
//
// }
// }
// for (NSMutableDictionary *proDic in proArr) {
// NSLog(@"%@", [proDic valueForKey:@"proName"] );
// for (NSMutableDictionary *cityDic in [proDic valueForKey:@"cityArr"]) {
// NSLog(@"%@", [cityDic valueForKey:@"cityName"]);
// for (NSMutableDictionary *quDic in [cityDic valueForKey:@"quArr"] ) {
// NSLog(@"%@", [quDic valueForKey:@"quName"]);
// }
// }
// }