OC-可变数组-可变字典嵌套(练习-省市区)

原创 2015年07月07日 20:20:02

给一个txt文档,格式为:省名前无空格, 市名前两个空格, 区名前四个空格.

文档如下图


首先要理清组数和字典的框架.实现代码如下


//
//  main.m
//  省市区
//
//  Created by dllo on 15/7/3.
//  Copyright (c) 2015年 dllo. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSError *error = nil;
        NSString *string = [NSString stringWithContentsOfFile:@"/Users/dllo/Desktop/课程代码/OC代码/省市区_班级封装作业/省市区/省市区/area.txt" encoding:NSUTF8StringEncoding error:&error];
//        NSLog(@"%@", string);
        
        NSArray *array = [string componentsSeparatedByString:@"\n"];
        
        /* 1.总数组, 对象:字典 */
        NSMutableArray *headArr = [NSMutableArray array];
        for (NSString *temp in array) {
            if (![temp hasPrefix:@" "]) {
                /* 2.总字典, key值"省名", 对应对象:省, key值"市", 对应对象: 数组 */
                NSMutableDictionary *proDic = [NSMutableDictionary dictionary];
                [proDic setObject:temp forKey:@"省名"];
                /* 3.市数组, 对象: 字典 */
                NSMutableArray *cityArr = [NSMutableArray array];
                [proDic setObject:cityArr forKey:@"市"];
                [headArr addObject:proDic];
            }
            else if (![temp hasPrefix:@"    "])
            {
                /* 4.字典,  key值"市名", 对应对象:市, key值"区", 对应对象: 数组*/
                NSMutableDictionary *cityDic = [NSMutableDictionary dictionary];
                [cityDic setObject:temp forKey:@"市名"];
                /* 5.区数组, 对象:区 */
                NSMutableArray *districtArr = [NSMutableArray array];
                [cityDic setObject:districtArr forKey:@"区"];
                
                NSMutableDictionary *proDic = [headArr lastObject];/* 最后一个省 */
                NSMutableArray *cityArr = [proDic objectForKey:@"市"];/* 最后一个省对应的市 */
                
                [cityArr addObject:cityDic];
            }
            else
            {
                NSMutableDictionary *proDic = [headArr lastObject]; /* 获取最后的省字典 */
                
                NSMutableArray *cityArr = [proDic objectForKey:@"市"];/* 获取市的数组 */
                
                NSMutableDictionary *cityDic = [cityArr lastObject];/* 获取市字典 */
               
                NSMutableArray *districtArr = [cityDic objectForKey:@"区"]; /* 获取区的数组 */
            
                [districtArr addObject:temp];/* 把区名加到数组中 */
            }
        }
        
        /* 遍历输出 */
        for (NSMutableDictionary *proDic in headArr) {
            NSLog(@"%@", [proDic objectForKey:@"省名"]);
            NSMutableArray *cityArr =[proDic objectForKey:@"市"];
            for (NSMutableDictionary *cityDic in cityArr) {
                NSLog(@"%@", [cityDic objectForKey:@"市名"]);
                NSMutableArray *districtArr = [cityDic objectForKey:@"区"];
                for (NSString *dis in districtArr) {
                    NSLog(@"%@", dis);
                }
            }
        }
    }
    return 0;
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

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

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

OC用字典数组创建省市区

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

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

啥也别说了直接上代码: //找文件位置 有两种方法 NSString *path = @"/Users/lan/Desktop/OC语言/Wzh_OC_07_省市区练习/Wzh_OC_07_省...

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

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

一个关于中国省市区的字典,数组嵌套使用

第一步: 去云盘的资料目录下下载一个名字为area.txt的文件(内容为中国的省市区),将这个文件导入到自己的工程里(导入时会有一个界面,勾选copy items if needed) //  ...

UI_UITableView省市区字典数组

UI_UITableView省市区字典数组

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

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

UI09_UITableView省市区字典数组

UITableView, 省市区

#Objective-C 经典字典数组排序 - 省市区

1.首先要准备好包含所有省市区的文档,将文档拖到我们建好的Xcode里 2.然后新建一个路径NSString *path = @" ";   再将省市区文档拖到@"  "中; 3.在进行排序前...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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