文档章节

NSDictionary字典

_子墨
 _子墨
发布于 2014/08/02 14:48
字数 316
阅读 35
收藏 0
//Foundation中的字典NSDictionary是由键-值对组成的数据集合。key(键)的值必须是唯一的

/*****************不可变字典*****************/
//字典的初始化
NSDictionary *dic1 = [NSDictionary dictionaryWithObject:@"value" forKey:@"key"];    //输出:{key = value}
NSDictionary *dic2 = [NSDictionary dictionaryWithObjects:@"v1", @"k1", @"v2", @"k2", @"v3", @"k3", nil];
NSDictionary *dic3 = [NSDictionary dictionaryWithDictionary:dic2];

//获取字典的数量
int count = [dic2 count];    //输出:count=3(有3组键-值对)

//根据键名获取其值
NSString *string = [dic2 objectForKey:@"k2"];    //输出:string=v2

//获取字典的所有key和value
NSArray *keyArray = [dic2 allKeys];    //输出:keyArray={k1,k2,k3}
NSArray *valueArray = [dic2 allValues];    //输出:valueArray={v1,v2,v3}

/****************可变字典*********************/
//创建一个字典
NSMutableDictionary *mutableDic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"v1", @"k1", @"v2", @"k2", @"v3", @"k3", nil];

//添加键-值对
//方式一
NSDictionary *dic4 = [NSDictionary dictionaryWithObject:@"v4" forKey:@"k4"];
[mutableDic addEntriesFromDictionary:dic4];
//方式二
【mutableDic setValue:@"object" forKey:@"k5"];

//创建一个空的可变字典
NSMutableDictionary *mutableDic2 = [NSMutableDictionary dictionary];
[mutableDic2 setDictionary:mutableDic];
//NSMutableDictionary *mutableDic2 = [NSMutableDictionary dictionaryWithObject:@"one" forKey:@"k"];

//根据键名删除元素
[mutableDic removeObjectForKey:@"k3"];

//删除一组键值对
NSArray *keys = [NSArray arrayWithObjects:@"k1", @"k2", @"k3", nil];
[mutableDic removeObjectsForKeys:keys];

//删除所有元素
[mutableDic removeAllObjects];

/****************遍历字典*************************/
//一般遍历
for(int index=0; index<[mutableDic count]; index++)
{
    NSString *object = [mutableDic objectForKey:[[mutableDic allKeys] objectAtIndex:index]];
    NSLog(@"%@", object);
}

//快速枚举
for(id key in mutableDic)
{
    NSString *object = [mutableDic objectForKey:key];
    NSLog(@"%@", object);
}

//通过枚举类型遍历
NSEnumerator *enumerator = [mutableDic keyEnumerator];
id key = [enumerator nextObject];
while(key)
{
    id object = [mutableDic objectForKey:key];
    NSLog(@"%@", object);
    key = [enumerator nectObject];
}


© 著作权归作者所有

上一篇: NSSet集合
下一篇: NSArray数组
_子墨
粉丝 48
博文 157
码字总数 141425
作品 0
深圳
iOS工程师
私信 提问
NSDictionary以及NSMutableDictionary的用法

1、NSDictionary (不可变字典) 字典的初始化 //一个key - value NSDictionary *dic1 = [NSDictionary dictionaryWithObject:@"@123" forKey:@"key1"]; //两个以上 key - value NSDictiona......

lady-奕奕
2013/11/20
11.9K
0
OC中字典基本概念和常用方法(NSDictionary和NSMutableDictionary)

一:字典的基本概念 Foundation中的字典(NSDictionary和NSMutableDictionary)是由键(key)和值(value)组成的数值集合,就像我们查字典一样,通过键(key)来查找到值(value)。 key值通...

JoshSone
2016/09/07
94
2
OC之之NSDictionary/NSMutableDictionary

NSDictionary/NSMutableDictionary特点: (1)里存储的东西都是键值对 (2)可以像数组一样快速创建(适用NSDictionary):@{key1 : value1, key2 : value2} (3)快速访问元素:字典名 [k...

feng_blog
2015/09/02
87
0
NSDictionary和NSMutableDictionary介绍

一、NSDictionary的介绍: NSDictionary翻译过来叫做”字典” 日常生活中, “字典”的作用:通过一个拼音或者汉字,就能找到对应的详细解释 类似通过一个key,就能找到对应的value。 NSDictiona...

这孤独世界幸好有你丶
2016/09/20
25
0
JSON对象,NSDictionary,NSString间的转换之NSJSONSerializati

#pragma mark - 字典转JSON格式Data 然后转 字符串 - (void)dictChangeJsonString { /** 什么是JSON对象? NSData *jsonObject = [NSJSONSerialization dataWithJSONObject:dict options:NSJ......

阴雨音语
2016/03/10
185
0

没有更多内容

加载失败,请刷新页面

加载更多

启动参数

常用启动参数,通过 -Dxx.yy=zz注入应用参数 -Deureka.instance.metadata-map.starkGroup=test3 -Dserver.port=8989 本地调试过程中,可改变端口来启动多个相同服务。修改启动的VM参数即可...

ZH-JSON
15分钟前
4
0
ES配置修改

查看配置 GET /_cluster/settings 修改配置 PUT /_cluster/settings{ "persistent" : { "xpack" : { "monitoring" : { "collection" : { "enabled" : ......

messud4312
26分钟前
3
0
Spring事务传播属性有那么难吗?看这一篇就够了

Spring事务传播属性有那么难吗?看这一篇就够了 笔者文笔功力尚浅,如有不妥,请慷慨指出,必定感激不尽 学习东西要知行合一,如果只是知道理论而没实践过,那么掌握的也不会特别扎实,估计过...

不学无数的程序员
26分钟前
4
0
VMware vSphere ESXi主机的访问控制

在vShpere中,访问ESXi主机的途径很多,如下: ESXi DCUI ESXi Shell ESXi SSH ESXi Host Client vCenter --> vSphere web client / vSphere Client VMware vSphere ESXi主机的访问控制,除了......

大别阿郎
51分钟前
5
0
大神讲解CGI、FastCGI和PHP-FPM关系图解

参考资料 概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM:http://www.nowamagic.net/librarys/veda/detail/1319 php中fastcgi和php-fpm是什么东西:https://www.zybuluo.com/phper/note/50231 ......

网络小虾米
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部