// 字典里套数组

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的更多相关文章

  1. iOS 开发遇到的问题之(nil指针对NSDictionary及NSArray初始化的影响)

    nil指针对NSDictionary及NSArray初始化的影响 最近在做项目的时候遇到一个挺坑的崩溃问题,是由于NSDictionary初始化时nil指针引起的崩溃.假设我们现在要初始化一个{key ...

  2. NSDictionary或NSArray与JSON字符串相互转换

    在iOS 5 中,苹果引入了一个解析JSON串的NSJSONSerialization类.通过该类,我们可以完成JSON数据与NSDictionary和NSArray之间的转化. 以前,我记得我用的是 ...

  3. NSJSONSerialization-JSON数据与NSDictionary和NSArray之间的转化

    转载▼     在iOS  5 中,苹果引入了一个解析JSON串的NSJSONSerialization类. 通过该类,我们可以完成JSON数据与NSDictionary和NSArray之间的转化. ...

  4. 如何删除NSDictionary或NSArray中的NSNull

    前段时间与某公司的技术交流,被问到一个问题,如何删除NSDictionary中的NSNull.当时在纸上写,以前太依赖Xcode编译器了,以至于方法名都写不全,最终也没写出来,我想我肯定被鄙视的体无完 ...

  5. Objective-C中关于请求返回NSData数据解析成NSDictionary或NSArray的方法

    1.如果后台返回的是字典或数组的data型,直接使用以下方法转换: { // Data 转成 字典 其中responseObject为返回的data数据 NSDictionary *resultDic ...

  6. iOS之NSDictionary和NSArray以及NSMutableDictionary和NSMutableArray:将不再是问题

    字典的key就相当于数组的下标,怎样操作数组你就学会了怎样才做字典:来感受一把 需要注意的是读取文件的类型要集合.plist文件的rooty:否则将不能读入文件 // 1.全国省市:得到的是省和市 / ...

  7. NSDictionary 和NSArray 排序(sort)

    排序: NSMutableDictionary *dic=[[NSMutableDictionary alloc]init]; [dic setValue:@"第3个" forKe ...

  8. 自动去除nil的NSDictionary和NSArray构造方法

    http://www.jianshu.com/p/a1e8d8d579c7 极分享 http://www.finalshares.com/

  9. 遍历NSArray, NSDictionary, NSSet的方法总结

    1,for循环读取 NSArray: NSArray *array = /*…*/ ; i<array.count; i++) { id object = array[i]; // do sth ...

随机推荐

  1. 九度OJ 1256:找出两个只出现了一次的数字 (位运算)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:568 解决:186 题目描述: 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 输入: 输入的 ...

  2. iptables的例子1

      练习1:实现主机防火墙   设置主机防火墙策略为DROP: iptables -t filter -P INPUT DROP iptables -t filter -P OUTPUT DROP i ...

  3. Linux安装virtualenvwrapper详细步骤

    1.[root@localhost ~]# pip install virtualenvwrapper 2.[root@localhost ~]# pip list [root@localhost ~ ...

  4. isinstance/issubclass/type的区别?

    type() 判断某个对象是否是该类创建的,只看一层,如果是继承类,也不会考虑继承类的类型.. Issubclass() 判断该类是否是另一个类的派生类,也就是子类,参数为类. isinstance( ...

  5. 我的Android进阶之旅------>如何获取系统中定义了那些权限

    在Window控制台中输入如下命令可以看到Android系统中列出的所有权限(如果自定义权限注册成功,在这里也会找到这些自定义的权限) adb shell pm list permissions C: ...

  6. linux c编程:信号(三) sigprocmask和sigpending函数

    信号源为目标进程产生了一个信号,然后由内核来决定是否要将该信号传递给目标进程.从信号产生到传递给目标进程的流程图如下图所示: 进程可以阻塞信号的传递.当信号源为目标进程产生了一个信号之后,内核会执行依 ...

  7. 每天一个Linux命令(32)date命令

          date命令是显示或设置系统时间与日期.        (1)用法:       用法:  date [选项]  [参数]       (2)功能:       功能:  根据指定格式显示 ...

  8. Effective java -- 8 异常

    第五十七条:只针对异常的情况才使用异常应该都有这个意识吧,就像什么抓索引越界什么的,没有必要. 第五十八条:对可恢复情况使用受检查异常,对编程错误使用运行时异常三种可抛的异常:受检的异常(checke ...

  9. Data Structure Binary Tree: Inorder Tree Traversal without Recursion

    http://www.geeksforgeeks.org/inorder-tree-traversal-without-recursion/ #include <iostream> #in ...

  10. 尽量不要在viewWillDisappear:方法中移除通知

    1.iOS7新增加了导航控制器侧滑手势,当触发侧滑返回时,会调用系统的viewWillDisappear:方法,取消侧滑返回时又会调用viewWillAppear:方法.   2.在做手势和通知等一系 ...