NSDictionary和NSArray
// 字典里套数组
NSArray *array1 = @[@"huahau" , @"hehe"];
NSArray *array2 = @[@"xiaobao" , @"liangtao"];
NSDictionary *dic7 = [[NSDictionary alloc] initWithObjectsAndKeys:array1 , @"key1" , array2 , @"key2" , nil];
// NSLog(@"%@" , dic7);
//拿出字典当中的所有key值
NSArray *keyArray3 = [dic7 allKeys];
//外层for循环控制字典有多少 键值对
for (int i = 0; i < [dic7 count]; i++) {
NSArray *a = [dic7 objectForKey:[keyArray3 objectAtIndex:i]];
// 取每一个小数组里面的元素
for (int j = 0; j < [a count]; j++) {
NSLog(@"%@" , [a objectAtIndex:j]);
}
}
NSLog(@"*********************************");
//数组套字典
//创建两个字典
NSDictionary *dic8 = @{@"key1":@"stu1" , @"key2":@"stu2"};
NSDictionary *dic9 = @{@"key3":@"tea1" , @"key4":@"tea4"};
//创建一个数组存放字典
NSArray *dicArray1 = [[NSArray alloc] initWithObjects:dic8 , dic9 , nil];
// NSLog(@"%@" , dicArray1);
//循环控制数组个数得到字典
for (int i = 0; i < [dicArray1 count]; i++) {
NSDictionary *d = [dicArray1 objectAtIndex:i];
//根据键值对取出每个字典元素
NSArray *a1 = [d allKeys];
for (int j = 0; j < [d count]; j++) {
// NSDictionary *dd = [d objectForKey:[a1 objectAtIndex:j]];
// NSLog(@"%@" , dd);
NSLog(@"%@" , [d objectForKey:[a1 objectAtIndex:j]]);
}
}
NSLog(@"***********************************");
//字典套字典
//创建两个小字典
NSDictionary *dic11 = @{@"k1":@"v1" , @"k2":@"v2"};
NSDictionary *dic12 = @{@"k3":@"v3" , @"k4":@"v4"};
//创建大字典
NSDictionary *dic13 = @{@"key5":dic11 , @"key6":dic12};
//根据键值控制小字典
NSArray *dicArray11 = [dic13 allKeys];
for (int i = 0; i < [dic13 count]; i++) {
NSDictionary *dic14 = [dic13 objectForKey:[dicArray11 objectAtIndex:i]];
//根据每个字典键值得到每个字典值
NSArray *dicArray12 = [dic14 allKeys];
for (int j = 0; j < [dic14 count]; j++) {
NSLog(@"%@" , [dic14 objectForKey:[dicArray12 objectAtIndex:j]]);
}
}
NSLog(@"*************************************");
// 数组里面套数组
//创建一个小数组
NSArray *array111 = @[@"aydcuj" , @"dahgh"];
NSArray *array112 = @[@"ujcdjks" , @"hgahd"];
//创建一个大数组
NSArray *bigArray = [NSArray arrayWithObjects:array111 , array112 , nil];
//控制每个数组
for (int i = 0; i < [bigArray count]; i++) {
NSArray *aaa = [bigArray objectAtIndex:i];
//取出每一个小数组元素
for (int j = 0; j < [aaa count]; j++) {
NSLog(@"%@" , [aaa objectAtIndex:j]);
}
}
NSLog(@"************************************");
//创建24个小数组
NSMutableArray *bigArray1 = [NSMutableArray array];
for (int i = 0; i < 24; i++) {
NSMutableArray *miniArray = [NSMutableArray array];
NSNumber *number = [NSNumber numberWithInt:i];
[miniArray addObject:number];
}
NSDictionary和NSArray的更多相关文章
- iOS 开发遇到的问题之(nil指针对NSDictionary及NSArray初始化的影响)
nil指针对NSDictionary及NSArray初始化的影响 最近在做项目的时候遇到一个挺坑的崩溃问题,是由于NSDictionary初始化时nil指针引起的崩溃.假设我们现在要初始化一个{key ...
- NSDictionary或NSArray与JSON字符串相互转换
在iOS 5 中,苹果引入了一个解析JSON串的NSJSONSerialization类.通过该类,我们可以完成JSON数据与NSDictionary和NSArray之间的转化. 以前,我记得我用的是 ...
- NSJSONSerialization-JSON数据与NSDictionary和NSArray之间的转化
转载▼ 在iOS 5 中,苹果引入了一个解析JSON串的NSJSONSerialization类. 通过该类,我们可以完成JSON数据与NSDictionary和NSArray之间的转化. ...
- 如何删除NSDictionary或NSArray中的NSNull
前段时间与某公司的技术交流,被问到一个问题,如何删除NSDictionary中的NSNull.当时在纸上写,以前太依赖Xcode编译器了,以至于方法名都写不全,最终也没写出来,我想我肯定被鄙视的体无完 ...
- Objective-C中关于请求返回NSData数据解析成NSDictionary或NSArray的方法
1.如果后台返回的是字典或数组的data型,直接使用以下方法转换: { // Data 转成 字典 其中responseObject为返回的data数据 NSDictionary *resultDic ...
- iOS之NSDictionary和NSArray以及NSMutableDictionary和NSMutableArray:将不再是问题
字典的key就相当于数组的下标,怎样操作数组你就学会了怎样才做字典:来感受一把 需要注意的是读取文件的类型要集合.plist文件的rooty:否则将不能读入文件 // 1.全国省市:得到的是省和市 / ...
- NSDictionary 和NSArray 排序(sort)
排序: NSMutableDictionary *dic=[[NSMutableDictionary alloc]init]; [dic setValue:@"第3个" forKe ...
- 自动去除nil的NSDictionary和NSArray构造方法
http://www.jianshu.com/p/a1e8d8d579c7 极分享 http://www.finalshares.com/
- 遍历NSArray, NSDictionary, NSSet的方法总结
1,for循环读取 NSArray: NSArray *array = /*…*/ ; i<array.count; i++) { id object = array[i]; // do sth ...
随机推荐
- Netty Redis 亿级流量 高并发 实战 (长文 修正版)
目录 疯狂创客圈 Java 分布式聊天室[ 亿级流量]实战系列之 -30[ 博客园 总入口 ] 写在前面 1.1. 快速的能力提升,巨大的应用价值 1.1.1. 飞速提升能力,并且满足实际开发要求 1 ...
- Mac下nginx安装和配置
nginx安装 brew search nginx brew install nginx 安装完以后,可以在终端输出的信息里看到一些配置路径: /usr/local/etc/nginx/nginx.c ...
- 第10条:尽量用enumerate取代range
核心要点: (1)enumerate函数提供了一种精简的写法,可以在遍历迭代器时获知每个元素的索引. (2)尽量用enumerate来改写那种将range与下标访问相结合的序列遍历代码. (3)可以给 ...
- Hive2.0的新特性介绍
- shiro3
1 shiro介绍 1.1 什么是shiro shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证.用户授权. spring中有spring security (原名Acegi ...
- [原创]java WEB学习笔记36:Java Bean 概述,及在JSP 中的使用,原理
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- crontab 定时器
cronntab 定时器 crontab -e 编辑定时器 crontab -l 查看定时器 //每十分钟执行一次 */10 * * * * curl http://xxxxx //每天 凌晨 中午1 ...
- 动态顺序表(C++实现)
顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构. 这样的存储方式使得线性表逻辑上相邻的元素,其在物理存储单元中也是相邻的.只要知道了第一个元素的 ...
- debian下配置dynamic printk以及重新编译内核
在以前的一篇博文<编译debian内核>已经提过了重新编译内核的方法,但是整个过程花费时间较长,并且生成deb包. 这里我采用稍微简单一些的方法,因为我并没有对内核或者驱动代码做任何修改, ...
- ANT+JMETER集成
一.ant安装 环境准备: 1.安装jdk http://www.oracle.com/technetwork/java/javase/downloads/index.html 注意:最好与jmete ...