//不可变字典NSDictionary

//字典的创建

NSDictionary *dic1=[NSDictionary dictionaryWithObject:@"velue" forKey:@"k1"];//一个键 一个值

NSDictionary *dic2=[NSDictionary dictionaryWithObjectsAndKeys:@"v1",@"k1",@"v2",@"k2",@"v3",@"k3",@"v4",@"k4",@"v5",@"k5",nil];//创建多个键 多个值

NSDictionary *dic3=[NSDictionary dictionaryWithDictionary:dic1];//直接把dic内容给dic3

NSLog(@"dic1:%@",dic1);

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

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

//获取字典的数量

int count=[dic2 count];

NSLog(@"%d",count);

//获取k3的value

NSString *string=[dic2 objectForKey:@"k3"];

NSLog(@"value:%@",string);

//获取字典中所有的key和value

NSArray *keyArray=[dic2 allKeys];

NSArray *valueArry=[dic2 allValues];

NSLog(@"keyArray:%@valueArry:%@",keyArray,valueArry);

//可变字典NSMutableDictionary

NSMutableDictionary *mutableDic1=[NSMutableDictionary dictionaryWithObjectsAndKeys:@"v1",@"k1",@"v2",@"k2",@"v3",@"k3",@"v4",@"k4",@"v5",@"k5", nil];

//上面是类方法直接赋值 下面是实例方法开辟空间并赋值

NSMutableDictionary *mutableDic=[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"v1",@"k1",@"v2",@"k2",@"v3",@"k3",@"v4",@"k4",@"v5",@"k5", nil];

//将一个字典中的velue和key添加到另外一个字典中

NSDictionary *dic4=[NSDictionary dictionaryWithObject:@"v6" forKey:@"k6"];

[mutableDic addEntriesFromDictionary:dic4];

NSLog(@"MutableDic%@",mutableDic);

//向字典中添加新的velue和key

[mutableDic setValue:@"object" forKey:@"key"];

NSLog(@"%@",mutableDic);

//创建一个空的字典数组

NSMutableDictionary *mutableDic2=[NSMutableDictionary dictionary];

[mutableDic2 setDictionary:mutableDic];//

NSLog(@"dic2:%@",mutableDic2);

//通过制定key删除

[mutableDic2 removeObjectForKey:@"k4"];

NSLog(@"dic2:%@",mutableDic2);

//删除多个键值

NSArray *keys=[NSArray arrayWithObjects:@"k1",@"k2",@"k3", nil];

[mutableDic2 removeObjectsForKeys:keys];

NSLog(@"dic2:%@",mutableDic2);

//删除全部键值

//        [mutableDic2 removeAllObjects];

//        NSLog(@"dic2:%@",mutableDic2);

//遍历字典  一般的方法

for (int index=0;index<[mutableDic1 count]; index++) {

NSString *object=[mutableDic1 objectForKey:[[mutableDic1 allKeys]objectAtIndex:index]];

NSLog(@"object:%@",object);

}

//快速枚举

NSLog(@"____________________");

for (NSString *key in mutableDic1) {

NSString *object=[mutableDic1 objectForKey:key];

NSLog(@"object:%@",object);

}

NSLog(@"____________________");

//使用枚举类型

NSEnumerator *enumerator=[mutableDic1 keyEnumerator];

id key;

while(key=[enumerator nextObject]){

id object=[mutableDic1 objectForKey:key];

NSLog(@"object:%@",object);

}

OC中NSDictionary常用方法总结相关推荐

  1. OC中的NSArray和NSMutableArray、NSDictionary和NSMutableDictionary用法

    一:NSArray 和NSMutableArray 1: NSArray:不可变数组 NSArray是OC中使用的数组,只能用来存放OC对象,不能存放非OC对象如基本数据类型 它使不可变的,一旦初始化 ...

  2. OC中的NSNumber、NSArray、NSString的常用方法

    和C语言不同,在Objective-C语言中,有单独的字符串类NSString.C语言中,string是由 char(ASCLL码)字符组成 OC中,字符串是由unichar(Unicode)字符组成 ...

  3. OC中的字符串常用方法

    OC中的字符串常用方法 OC中对字符串进行操作使用了Foundation框架中的NSString类(不可变).NSMutableString类(可变). NSString 1.创建字符串 [objc] ...

  4. iOS开发几年了,你清楚OC中的这些东西么!!!?

    iOS开发几年了,你清楚OC中的这些东西么!!!? 前言 几年前笔者是使用Objective-C进行iOS开发, 不过在两年前Apple发布swift的时候,就开始了swift的学习, 在swift1 ...

  5. NSObject中的常用方法

    //1.NSObjectPerson *xiaoming = [[Person alloc]init];SEL selector = @selector(eat);[xiaoming performS ...

  6. php字典遍历,OC中的遍历数组和字典

    什么是遍历 ? 最近总有刚接触编程的朋友问我什么是遍历? 那是用来干什么用的? 今天就来解释一下遍历以及在OC中的具体用法 在众多计算机程序语言中,数组是必不可少的数据类型.而所谓遍历就是沿着某条搜索 ...

  7. OC中JSON解析与XML解析

    文章目录 ###JSON JSON是一种轻量级的数据格式,一般用于数据交互: 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外). JSON的格式很像OC中的字典和数组,标准 ...

  8. OC中常见面试题汇整篇

    当页面跳转的时候,如何实现导航条和页面同时出现?因为他两个经常出现不同步的现象? 如何将tablview强制转换成UIScrollow? 当一个界面在6s上正好可以完全呈现,那在4s上面你是如何处理的 ...

  9. 6 OC 中的isa 指针

    目录 一 isa 指针 二 类对象中的superclass 一 isa 指针 isa 指针 ,OC 中的对象都是有的 如下图所示,实例对象isa 指针指向 类对象,类对象的isa 指针指向 元类对象 ...

最新文章

  1. python join split
  2. 在studio中使用libsdl2.so,编译SDL Demo
  3. html5场景编辑工具,3款容易上手的HTML5编辑工具推荐~
  4. js获取checkbox多选表单
  5. GitChat专栏:Spring Cloud 与 Consul 的整合使用
  6. 大班体育游戏 电子计算机,【大班户外游戏】_幼儿园大班体育游戏活动设计40篇...
  7. python中的*和**参数:nn.Sequential(*layers)
  8. 设计sample语言的语法_Verilog语法之〇:Verilog HDL简介
  9. 获取微信所有聊天记录数据并通过Python制作词云图
  10. CoreAnimation动画入门(总结)
  11. 聚石塔服务器系统盘在线扩容
  12. 用MATLAB画线段(简单说)
  13. 夏季旅游度假照片展示短视频AE模板
  14. 在 LaTeX 中定义变量
  15. c代码实现 ifft运算_二维FFT,IFFT,c语言实现 | 学步园
  16. 文华软件怎样测试交易系统的收益,文华财经交易系统之终极黄金
  17. 为什么说电销企业需要智能电销系统原因?
  18. 六十星系之43紫微天相坐辰戌
  19. 桌面计算机不显示桌面,电脑不显示桌面怎么办,电脑无法显示桌面
  20. 新南威尔士大学巩东课题组招收若干名CV/ML/AI方向博士生

热门文章

  1. WPF 3D相关链接
  2. 计算机硬件认识与拆装,最新-计算机硬件维护与拆装实习报告 精品
  3. 微型计算机拆卸安装的注意事项,微型计算机使用注意事项及保养的一般方法.doc...
  4. 解决stetho第一次连接白屏的问题
  5. 手机游戏直播 : 悟空TV客户端设计与技术难点
  6. Vue实现腾讯云_音视频通话的推拉流
  7. 查看 Python 版本
  8. 062 [转载]如何从一台被铅封的机器上取走数据
  9. 计算机配置2块显卡,台式机切换显卡如何操作_台式电脑有两个显卡怎么切换-win7之家...
  10. 超越Facebook!特斯拉市值破万亿美元,马斯克身价近3000亿美元稳坐全球首富