// 字典里套数组

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. Mac标识物理位置算法 import Levenshtein mac列表特征值

    mac 字符串 与 基准字符串的 Levenshtein   距离,考虑  mac信号强度的时序性,60秒内若干次变化 不引入强度 mac字符串的唯一性 如何排序 基准字符串的选取 同一尺度 都按强度 ...

  2. MySql四种隔离级别

    什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消.也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做. 事务的结束有 ...

  3. linux c编程:信号(二) alarm和pause函数

    使用alarm函数可以设置一个定时器,在将来的某个时刻该定时器超时.当定时器超时后,产生SIGALRM信号.如果忽略或不捕捉此信号,则其默认动作是终止调用该alarm函数的进程 #include< ...

  4. emmet缩写格式

    2016年5月30日 10:10 标准网页<!DOCTYPE html> <html lang="zh-CN"> <head> <meta ...

  5. Android 部分机型在三星S3上面出现了,sqlite莫名其名的锁住的问题

    今天在使用安卓三星S3开发时.发现数据库老是锁住,其它机型并未出现锁住的问题,查看数据库所在的目录发现,和db文件同名的多出了一个文件以-journal结尾的莫名其妙的文件,怀疑是这个导致的所以在程序 ...

  6. java 死锁产生原因及解锁(转)

    原文地址 进程死锁及解决办法 一.要点提示 (1) 掌握死锁的概念和产生死锁的根本原因. (2) 理解产生死锁的必要条件--以下四个条件同时具备:互斥条件.不可抢占条件.占有且申请条件.循环等待条件. ...

  7. ubuntu sudo-update出错Encountered a section with no Package: header

    Reading package lists... Error! E: Encountered a section with no Package: header E: Problem with Mer ...

  8. CentOS7 添加用户到 sudoers

    1.在装完系统后,CentOS默认普通用户是无法使用sudo命令的,这时我们就需要将登陆的用户加入/etc/sudoers 文件中 假设用户名是yhd 3.切换到超级用户:$ su - 当然输入的 p ...

  9. frontend-tools

    收集整理好用的前端开发利器(Collect good front-end development tools ) 1.w3cplus前端工具 2.jsfiddle在线JS代码调试工具 3.w3cfun ...

  10. iOS category 类别 和 extension 扩展

    category  类别 又称为 分类 在ios项目开发中允许使用类别为现有的类添加新的方法,并不需要创建子类.通过类别我们可以动态地为现有的类添加新的方法,可以将类的定义模块化地布局到多个相关文件中 ...