OC 运用Dictionary & Array 实现省市区分类
2014-06-01 15:33
190 查看
NSString *filePath = @"/Users/dlios/Downloads/area.txt";
NSError *error = nil;
NSString *buffer = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error];
if (error) {
NSLog(@"error : %@", [error localizedDescription]);
exit(1);
}
NSLog(@"%@", buffer);
NSArray *dataArray = [buffer componentsSeparatedByString:@"\n"];
NSLog(@"%@", dataArray);
NSMutableArray *provinces = [NSMutableArray array];
for (NSString *s in dataArray) {
// 找到 省
if (![s hasPrefix:@" "]) {
NSMutableArray *citys = [NSMutableArray array];
NSDictionary *pDic = [NSDictionary dictionaryWithObjectsAndKeys:s, @"name", citys, @"cities", nil];
[provinces addObject:pDic];
}
// 找到 城市
if ([s hasPrefix:@" "] && ![s hasPrefix:@" "]) {
NSMutableArray *areas = [NSMutableArray array];
NSDictionary *cDic = [NSDictionary dictionaryWithObjectsAndKeys:s, @"name", areas, @"areas", nil];
NSDictionary *pDic = [provinces lastObject];
NSMutableArray *cities = [pDic objectForKey:@"cities"];
[cities addObject:cDic];
}
// 找到 区
if ([s hasPrefix:@" "]) {
NSDictionary *pDic = [provinces lastObject];
NSArray *cities = [pDic objectForKey:@"cities"];
NSDictionary *cDic = [cities lastObject];
NSMutableArray *areas = [cDic objectForKey:@"areas"];
[areas addObject:s];
}
}
NSLog(@"%@", provinces);
for (NSDictionary *pDic in provinces) {
if ([[pDic objectForKey:@"name"] hasPrefix:@"山东"]) {
NSArray *cities = [pDic objectForKey:@"cities"];
for (NSDictionary *cDic in cities) {
if ([[cDic objectForKey:@"name"] hasPrefix:@" 烟台"]) {
NSArray *areas = [cDic objectForKey:@"areas"];
for (NSString *areaName in areas) {
NSLog(@"%@", areaName);
}
}
}
}
}
NSError *error = nil;
NSString *buffer = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error];
if (error) {
NSLog(@"error : %@", [error localizedDescription]);
exit(1);
}
NSLog(@"%@", buffer);
NSArray *dataArray = [buffer componentsSeparatedByString:@"\n"];
NSLog(@"%@", dataArray);
NSMutableArray *provinces = [NSMutableArray array];
for (NSString *s in dataArray) {
// 找到 省
if (![s hasPrefix:@" "]) {
NSMutableArray *citys = [NSMutableArray array];
NSDictionary *pDic = [NSDictionary dictionaryWithObjectsAndKeys:s, @"name", citys, @"cities", nil];
[provinces addObject:pDic];
}
// 找到 城市
if ([s hasPrefix:@" "] && ![s hasPrefix:@" "]) {
NSMutableArray *areas = [NSMutableArray array];
NSDictionary *cDic = [NSDictionary dictionaryWithObjectsAndKeys:s, @"name", areas, @"areas", nil];
NSDictionary *pDic = [provinces lastObject];
NSMutableArray *cities = [pDic objectForKey:@"cities"];
[cities addObject:cDic];
}
// 找到 区
if ([s hasPrefix:@" "]) {
NSDictionary *pDic = [provinces lastObject];
NSArray *cities = [pDic objectForKey:@"cities"];
NSDictionary *cDic = [cities lastObject];
NSMutableArray *areas = [cDic objectForKey:@"areas"];
[areas addObject:s];
}
}
NSLog(@"%@", provinces);
for (NSDictionary *pDic in provinces) {
if ([[pDic objectForKey:@"name"] hasPrefix:@"山东"]) {
NSArray *cities = [pDic objectForKey:@"cities"];
for (NSDictionary *cDic in cities) {
if ([[cDic objectForKey:@"name"] hasPrefix:@" 烟台"]) {
NSArray *areas = [cDic objectForKey:@"areas"];
for (NSString *areaName in areas) {
NSLog(@"%@", areaName);
}
}
}
}
}
相关文章推荐
- OC-字典&数组运用实例:通讯录的实现
- OC & C++运用回调函数
- 利用字典(Dictionary)实现唐诗的添加和查询功能(运用数组的做法)
- iOS开发-Day18-OC NSArray&NSMutableArray
- Android中string-array利用反射实现省市联动
- codeforces 482 B Interesting Array <STL map 的运用>
- [Ajax]用简易Ajax框架实现"省市二级联动下拉菜单"【转载】
- C&OC的数据类型分类
- 利用Python分析GP服务运行结果的输出路径 & 实现服务输出路径的本地化 分类: Python ArcGIS for desktop ArcGIS for server 2015-08-06 19:49 3人阅读 评论(0) 收藏
- ArrayAdapter<T>,Filter实现列表搜索
- OC——第五天NSSArray /NSDicti…
- oc继承,实现,分类
- Array&String@CC150-基础数据结构实现CloseHash
- Swift 易忽略的笔记 3): Array & Dictionary
- iOS开发-Day19-OC NSDictionary&NSMutableDictionary&NSSet&NSMutableSet
- OC基础——使用category(策略)实现分类,在不改变原类代码的前提下为原类增加方法
- 运用循环实现PHP分类列表
- 实现三级联动下拉框 下拉列表… 分类: Android开发 2014-05-30 10:57 67人阅读 评论(0) 收藏
- 分类算法--贝叶斯分类法(Maprdecue实现)代码实现<转>
- OC——第五天NSSArray /NSDicti…