1. 字典类型的常用处理

//---------------不可变字典

//1.字典的创建

NSArray *array1 = [NSArray arrayWithObjects:@"zhangsan",@"zhangfei",nil];

NSArray *array2 = [NSArray arrayWithObjects:@"lisi",@"liping", nil];

//第一元素:key:@“zhang"   value:array1

//第二元素:key: @"li:      value:array2

NSDictionary *dic1 = [[NSDictionary alloc] initWithObjectsAndKeys:array1,@"zhang",array2,@"li", nil];

NSUInteger count = dic1.count; //字典元素个数

NSLog(@"count:%d",count);

//创建字典时初始化一个元素

NSDictionary *dic2 = [NSDictionary dictionaryWithObject:array1 forKey:@"zhang"];

NSLog(@"dic2 = %@",dic2);

//2.获取字典中所有的key

NSArray *allKeys = [dic1 allKeys]; //dic1.allKeys.

NSLog(@"allKeys= %@",allKeys);

//3.获取字典中所有的value

NSArray *allValues = [dic1 allValues];

NSLog(@"allValues = %@",allValues);

//4.通过key取得value

NSArray *array3 = [dic1 objectForKey:@"zhang"];

NSLog(@"array3 = %@",array3);

//------------字典中优化的方法

NSDictionary *dic3 = @{@"zhang": array1,@"li":array2};

NSLog(@"dic3 = %@",dic3);

//取value的语法:字典[”key“]

NSArray *array4 = dic3[@"zhang"]; //等价于:NSArray *array3 = [dic3 objectForKey:@"zhang"];

NSLog(@"array4 = %@",array4);

//--------------可变字典

//1.创建一个可变字典

NSMutableDictionary *md1 = [[NSMutableDictionary alloc] initWithCapacity:3];

//2.添加元素

[md1 setObject:array1 forKey:@"zhang"];

[md1 setObject:array2 forKey:@"li"];

NSLog(@"md1 = %@",md1);

//将字典dic1 中所有的元素添加到md1字典中

[md1 addEntriesFromDictionary:dic1];

NSLog(@"md1 = %@",md1);

//        [md1 setObject:@"zhangsan" forKey:@"zhang"]; //如果添加相同的key,会将原来的Value覆盖掉

//3.删除(根据key删除元素)

[md1 removeObjectForKey:@"zhang"];

NSLog(@"md1 = %@",md1);

//删除所有元素(清空)

//[md1 removeObjects];

//        //根据多个key删除对应的多个元素

//        [md1 removeObjectsForKeys:@[@"zhang",@"li"]];

//        NSLog(@"md1 = %@",md1);

//---------------------遍历字典

//1.快速遍历

for (NSString *key in md1) {

NSArray *name = [md1 objectForKey:key];

NSLog(@"快速遍历:key = %@,value = %@",key,name);

}

//2.普通遍历

NSArray *allKeys2 = [md1 allKeys];

for (int i = 0; i<allKeys.count - 1; i++) {

NSString *key = allKeys2[i];

NSArray *name = md1[key];

NSLog(@"普通遍历:key = %@,value = %@",key,name);

}

iOS - 字典(NSDictionary)的更多相关文章

  1. IOS字典NSDictionary与NSMutableDictionary知识点

    字典中的元素是以键值对的形式存储的,键值对的键和值,都是任意的对象,但是键往往使用字符串,字典存储对象的地址没有顺序,字典的遍历分为:键的遍历和值的遍历,字典与数组的区别:数组讲究顺序,而字典可以快速 ...

  2. iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转

    iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转 1. 字典转Json字符串 // 字典转json字符串方法 -(NSString *)convertToJs ...

  3. iOS - OC NSDictionary 字典

    前言 @interface NSDictionary<__covariant KeyType, __covariant ObjectType> : NSObject <NSCopyi ...

  4. IOS 字典快速转换为Model 模型

    一般情况下IOS得局部页面加载的过程是,创建一个Model然后,将Nib文件与Model进行关联,然后能够快速的获取到Nib文件上的控件实例.操作生成页面. 但是原生的内容是没有直接通过Json获取M ...

  5. IOS 字典模型互转框架 MJExtension

    IOS 字典模型互转框架 MJExtension   能做什么? MJExtension是一套字典和模型之间互相转换的超轻量级框架 MJExtension能完成的功能 字典(JSON) -->  ...

  6. iOS 字典或者数组和JSON串的转换

    在和服务器交互过程中,会iOS 字典或者数组和JSON串的转换,具体互换如下: // 将字典或者数组转化为JSON串 + (NSData *)toJSONData:(id)theData { NSEr ...

  7. iOS 字典与JSON相互转换

    iOS 字典与JSON相互转换 首先简单说一下为什么会写这种幼稚的文章. 现在的网络请求几乎都是AFN完成的,AFN也为我们写了了JSON转换字典的方法,但是不要忘记后台是一个很爱用JSON的人群,H ...

  8. iOS —— 字典遍历排序

    字典NSDictionary一般的遍历方法都是: NSArray* arr = [yourdictonary allKeys]; for(NSString* str in arr) { NSLog(& ...

  9. OC中的字典NSDictionary

    ========================== 字典 ========================== NSDictionary * dict = [[NSDictionary alloc] ...

随机推荐

  1. linux 一些遇到的问题

    亚马逊云服务器上的YUM源有些问题,是64位系统,安装GCC的时候要用 yum install gcc44 yum install gcc44-c++ 查看源的列表和禁用(开启)源 yum-confi ...

  2. 理解Windows中的路由表和默认网关

    每一个Windows系统中都具有IP路由表,它存储了本地计算机可以到达的网络目的地址范围和如何到达的路由信息.路由表是TCP/IP通信的基础,本地计算机上的任何TCP/IP通信都受到路由表的控制. 理 ...

  3. 记录一下跟Python有关的几个拓展名

    .py python文本源码文件,也可以用python.exe直接运行 .pyw 也是python的文本源码文件,但是默认由pythonw.exe打开,而且不显示命令行窗口,带GUI的python代码 ...

  4. Hanoi Tower问题分析

    前言 回家休息第3天了,状态一直不是太好,主要是要补牙,检查身体,见同学见亲戚,心里又着急校招,难得能腾出时间来好好思考,这里也是看<cracking the coding interview& ...

  5. cocos2d(3.0)一些基础的东西

    1.创建项目后环境配置: 附加文件夹:加入 $(EngineRoot) $(EngineRoot)cocos $(EngineRoot)cocos\editor-support $(EngineRoo ...

  6. android UI进阶之实现listview中checkbox的多选与记录

    今天继续和大家分享涉及到listview的内容.在很多时候,我们会用到listview和checkbox配合来提供给用户一些选择操作.比如在一个 清单页面,我们需要记录用户勾选了哪些条目.这个的实现并 ...

  7. ios开发——实战Swift篇&简单项目的实现

    学了这么久的swift语法和相关技术,今天忍不住手痒痒就写了一个swift的小项目,这个项目非常简单(只是使用一个UITableView),但是里面的功能却非常有用. 我们要实现的功能是这样的: 程序 ...

  8. 关于null和undefined

    null和undefined都是一种类型..typeof查看变量类型.不要为该函数迷惑..因为他只是看上去官方! 见http://www.cnblogs.com/zhepama/articles/30 ...

  9. Tick and Tick

    The three hands of the clock are rotating every second and meeting each other many times everyday. F ...

  10. cocos2d-x lua 调用onEnter和onExit

    cocos2d-x lua 调用onEnter和onExit version: cocos2d-x 3.6 onEnter和onExit在lua中不会因节点别add和remove而直接被调用,当子节点 ...