省市区字典类型--OC方法

原创 2015年07月22日 20:05:31

我觉得字典问题有点类似于嵌套的问题,在解决问题前可以将相互之间的关系写出来再进行编写,这样会使思路更加清晰.在打印的时候就相当于剥皮,从外层开始一层层进行.

//先将txt文件的路径添加到工程中
NSString *path =@"/Users/dlios/Desktop/.....";
//根据路径产生相应的字符串
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];
        }
    }
    for( NSMutableDictionary *dic in proArr){
        NSLog(@"%@",dic[@"proName"]);
        NSMutableArray * cityArr = dic[@"cityArr"];
            for (NSMutableDictionary *cityDic in cityArr){
             NSLog(@"%@",cityDic[@"cityName"]);
             NSMutableArray *zoneArr = cityDic[@"zoneArr"];
             for(NSString *zone in zoneArr){
            NSLog(@"%@",zone);
             }
            }
    }
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

OC中字典的使用,数组的使用----省市区

在OC学习中,数组和字典的简单使用

OC用字典数组创建省市区

OC用字典数组创建省市区 //获取文件路径 NSString *path = @"/Users/lan/Desktop/ios开发/百度云同步盘/iOS学习/OC课程/练习/第七天/Creat...

OC中用字典创建一个具有省市区的应用(简单的字典运用代码)

#import int main(int argc, const char * argv[]) { // 准备工作 NSString *path = @"/Users/dllo/...

python实现省市区字典查询

#!/usr/bin/env python # coding=utf-8''' 所使用的文件格式是 110000 北京市 0 代号 名称 上级代号''' # 判断输入的是否是exit或者qui...

Objective-C 省市区 字典 封装

Objective-C+ 封装+ 字典封装+ 省市区封装
  • seal82
  • seal82
  • 2015年07月27日 19:26
  • 218

省市区用字典实现

// //  main.m //  省市县 // //  Created by dllo on 15/10/31. //  Copyright (c) 2015年 dll...

UI_UITableView省市区字典数组

UI_UITableView省市区字典数组

iOS省市区字典封装

相信很多同学在学习iOS时候都会遇到省市区字典的封装的问题,也遇到了各种各样的问题。今天抽空给大家写了一下,给了自己的注释。 #import int main(int argc, const c...

UITableView 数组与字典结合(省市区)

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"area" ofType:@"txt"];         NSE...

objective-c 省市区练习(数组与字典的嵌套)

啥也别说了直接上代码: //找文件位置 有两种方法 NSString *path = @"/Users/lan/Desktop/OC语言/Wzh_OC_07_省市区练习/Wzh_OC_07_省...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:省市区字典类型--OC方法
举报原因:
原因补充:

(最多只允许输入30个字)