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

2024-06-16 20:32

本文主要是介绍OC中用字典创建一个具有省市区的应用(简单的字典运用代码),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

</pre><pre name="code" class="objc">#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {// 准备工作NSString *path = @"/Users/dllo/Desktop/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"];// 添加[zoneArr addObject:temp];}}// forin遍历省数组名for (NSMutableDictionary *dic in proArr) {NSLog(@"------------------");NSLog(@"%@",dic[@"proName"]);NSLog(@"------------------");NSMutableArray *cityArr = dic[@"cityArr"];for (NSMutableDictionary *cityDic in cityArr) {NSLog(@"%@",cityDic[@"cityName"]);NSLog(@"***************");NSMutableArray *zoneArr = cityDic[@"zoneArr"];for (NSString *str in zoneArr) {NSLog(@"%@",str);NSLog(@"***************");}}}return 0;
}
代码中已给出详细注释

这篇关于OC中用字典创建一个具有省市区的应用(简单的字典运用代码)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1067468

相关文章

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

创建Java keystore文件的完整指南及详细步骤

《创建Javakeystore文件的完整指南及详细步骤》本文详解Java中keystore的创建与配置,涵盖私钥管理、自签名与CA证书生成、SSL/TLS应用,强调安全存储及验证机制,确保通信加密和... 目录1. 秘密键(私钥)的理解与管理私钥的定义与重要性私钥的管理策略私钥的生成与存储2. 证书的创建与

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

python如何创建等差数列

《python如何创建等差数列》:本文主要介绍python如何创建等差数列的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python创建等差数列例题运行代码回车输出结果总结python创建等差数列import numpy as np x=int(in