objectc:dictionary使用
字典具有不可重复性,如果重复会进行替换
1.1 创建不可变字典
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"val1", @"key1",@"val2", @"key2", nil];
1.2 获取字典大小
int cnt = [dict count];
1.3 得到字典中所有的KEY
使用“for-in”语法可以实现可枚举对象的遍历,可以遍历所有键
NSEnumerator *enumKeys = [dict keyEnumerator];
for (NSObject *obj in enumKeys){NSLog(@"enumKey: %@", obj);
}
或者
for (NSObject *obj in dict){NSLog(@"key in dict: %@", obj);
}
1.4 遍历字典中的所有VALUE
NSEnumerator *enumValues = [dict objectEnumerator];
for (NSObject *obj in enumValues){NSLog(@"value in dict: %@", obj);
}
1.5 根据KEY检索VALUE
NSObject *value = [dict objectForKey:@"key1"];
if (value != nil){NSLog(@"value in dict: %@", value);
}
2.1 创建可变字典
NSMutableDictionary *mdict = [NSMutableDictionary dictionary];
或者
NSMutableDictionary *mdict = [@{} mutableCopy];
又或者在初始时候就分配好内存空间
NSMutableDictionary *mdict = [NSMutableDictionary dictionaryWithCapacity:10];
2.2 向字典中添加数据
[mdict setObject:@"mval01" forKey:@"mkey01"];
[mdict setObject:@"mval02" forKey:@"mkey02"];
2.3 删除字典中的数据
[mdict removeObjectForKey:@"mkey01"];
或者直接清除字典数据
[mdict removeAllObjects];
注释:removeAllObjects为可变数组和可变字典才可以用
[NSMutableArray_1 removeAllObjects];
但是要注意如果初始数组数据来源是nsarray的话,不能这样用会报错,需要在数据来源赋值时候进行如下操作,才可以这样使用
NSMutableArray_1 = [[NSMutableArray alloc] initWithArray:reponse[@"content"]];
objectc:dictionary使用相关推荐
- vim 高级应用 原文地址 http://www.2maomao.com/blog/wp-content/uploads/vim_tips.txt
最佳vim技巧 ---------------------------------------- # 信息来源 ---------------------------------------- www ...
- 【语法】iOS(一)ObjectC的语法
独特的@符号 首先,ObjectC是C的超集,为了不和C中已有的东西冲突,ObjectC中特有的东西前面都带有@符号 语法的差异 一.方法名 ObjectC中的方法名由多个段组成. 比如我们想初始化一 ...
- Swift3的Dictionary和OC的NSDictionary关系
在Foundation框架中提供一种字典集合,它是由"键-值"对构成的集合.键集合不能重复, 值集合没有特殊要求.键和值集合中的元素可以是任何对象,但是不能是nil.Foundat ...
- Python 字典(Dictionary) get()方法
Python 字典(Dictionary) get()方法 描述 Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: ...
- Python 字典(Dictionary)
Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在 ...
- Dictionary作为数据源绑定,调用c++库中返回为BYTE*的函数,listView项排序
最近在做一个电子档案管理的项目.现在还处于初期,只是做一个简单demo拿去跟客户演示.至于最后谈不谈得下来,到底做不做,反正我是不看好,但没因为这样就马马虎虎.草草了事.这个项目算是b/s加c/s混合 ...
- 技术图文:浅析 C# Dictionary实现原理
背景 对于 C# 中的 Dictionary类 相信大家都不陌生,这是一个 Collection(集合) 类型,可以通过 Key/Value (键值对) 的形式来存放数据:该类最大的优点就是它查找元素 ...
- python报错 ValueError: dictionary update sequence element #0 has length 1; 2 is require
原文链接地址: https://blog.csdn.net/weixin_40894428/article/details/80683137 字符串转字典要用eval(),这个方法很多书上都没有介绍, ...
- 迭代var()内置函数的时候出现RuntimeError: dictionary changed size during iteration的解决办法...
下午看了Mr Seven的教学视频,其中有一段讲全局变量的视频,迭代输出全局变量的时候报错了. 视频中的做法: for k,v in vars().items():print(k) 打印结果 for ...
- C#中的Dictionary简介
C#中的Dictionary简介 http://www.cnblogs.com/ccczqh/archive/2011/01/04/1925852.html 简介 在C#中,Dictionary提供 ...
最新文章
- MyEclipse +Flex 整合
- #define 的换行问题
- 6.OD-Run trace /Hit trace
- Envoy实现.NET架构的网关(五)集成Redis实现限流
- 信息摘要技术及算法介绍
- ONNX系列五 --- 在C#中使用可移植的ONNX AI模型
- 试试既然没人玩,没得试验了
- 力扣-61 旋转链表
- RabbitMQ项目实战——商户管理系统
- SocksCap64
- html前端小技巧—div半透明设置技巧
- 在Windows 10 64 位机器上安装Debug
- python自动化配置路由器_使用Python管理小米路由器
- Linux: sd 0:0:1:0: timing out command, waited 1080s, 访问磁盘错误
- Ogre骨骼动画分析
- python turtle画表情包--牛bi
- 读心神探感悟 读心神探 语录 读心神探 观后感
- mac火狐浏览器不能打开任何网址问题解决方案!
- Android特效专辑(八)——实现心型起泡飞舞的特效,让你的APP瞬间暖心
- 防火墙系列(二)-----防火墙的主要技术之包过滤技术,状态检测技术
热门文章
- Golang hijack 劫持
- 再获国家级荣誉!谱尼测试蝉联“国家知识产权优势企业”
- 遭遇Trojan PSW OnlineGames Trojan HiJack a Trojan PSW ZhuXian
- 搭建自己的网站(服务器羊毛篇)
- 微服务--API网关
- 6成人跳槽为钱,最新裸辞调查报告出炉!
- iPhone设备上安装beta版本系统,在浏览器中搜索网址 beta.apple.com
- 计算机中丢失vcl190,VCL画图实例
- 孙悟空的师父是谁? (ZT)
- 英特尔的指令集体系结构_Intel MIC初探(一):MIC架构及编程模型概览