OC字典练习 -- 中国省市区
2015-07-23 18:13
323 查看
//
// main.m
// oc06 --
省市区字典
//
// Created by dllo on 15/7/22.
// Copyright (c) 2015年 Gaozi. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc,
const char * argv[]) {
//准备工作
NSString *path =
@"/Users/dllo/Desktop/OC学习/oc06
--
省市区字典/oc06 --
省市区字典/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"];
// 再把temp放入
[zonearr
addObject:temp];
}
}
// fotin
遍历.
for (NSMutableDictionary *prodic
in proArr) {
NSLog(@"%@",prodic[@"proName"]);
NSMutableArray *cityArr = prodic[@"cityArr"];
for (NSMutableDictionary *citydic
in cityArr) {
NSLog(@"%@",citydic[@"cityName"]);
NSMutableArray *zonearr = citydic[@"zoneArr"];
for (NSString *zoneName
in zonearr) {
NSLog(@"%@",zoneName);
}
}
NSLog(@"\n");
}
return 0;
}
// main.m
// oc06 --
省市区字典
//
// Created by dllo on 15/7/22.
// Copyright (c) 2015年 Gaozi. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc,
const char * argv[]) {
//准备工作
NSString *path =
@"/Users/dllo/Desktop/OC学习/oc06
--
省市区字典/oc06 --
省市区字典/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"];
// 再把temp放入
[zonearr
addObject:temp];
}
}
// fotin
遍历.
for (NSMutableDictionary *prodic
in proArr) {
NSLog(@"%@",prodic[@"proName"]);
NSMutableArray *cityArr = prodic[@"cityArr"];
for (NSMutableDictionary *citydic
in cityArr) {
NSLog(@"%@",citydic[@"cityName"]);
NSMutableArray *zonearr = citydic[@"zoneArr"];
for (NSString *zoneName
in zonearr) {
NSLog(@"%@",zoneName);
}
}
NSLog(@"\n");
}
return 0;
}
相关文章推荐
- 跨平台游戏引擎开发
- vim 打开Linux下文件每一行后面都有^M的样式
- sort和qsort函数的用法
- Redis HA实践配置
- c/c++类型和字节大小整理
- ssi开发 学习笔记第四天--第一个例子
- 【面向专家】极客头条使用体验征文(结束)
- 查看eclipse ADT SDK JDK版本号
- linux 系统运维
- android 创建桌面快捷方式
- Hibernate教程
- 分析java CPU消耗
- 常用排序算法之JavaScript实现
- 关于js异步调用webservice
- 安卓天天练练(五)CompoundButton
- nginx状态监控
- 网络中常用的9个命令
- Java基础——原码, 反码, 补码 详解
- ActionResult的本质四:HttpStatusCodeResult & RedirectResult/RedirectToRouteResult
- eclipse中SVN分支合并到主干