NSDictionary、NSMutableDictionary的各种实用的用法以及枚举

转载 2015年07月09日 11:23:03

NSDictionary、NSMutableDictionary的基本用法

1.不可变词典NSDictionary

字典初始化

NSNumber *numObj = [NSNumber numberWithInt:100];

以一个元素初始化

NSDictionary *dic = [NSDictionary dictionaryWithObject:numObj forKey:@"key"];

初始化两个元素

NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:numObj, @"valueKey", numObj2, @"value2",nil];

初始化新字典,新字典包含otherDic

NSDictionary *dic = [NSDictionary dictionaryWithDictionary:otherDic];

以文件内容初始化字典

NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:path];


常用方法

获取字典数量

NSInteger count = [dic count];

通过key获取对应的value对象

NSObject *valueObj = [dic objectForKey:@"key"];

将字典的key转成枚举对象,用于遍历

NSEnumerator *enumerator = [dic keyEnumerator];

获取所有键的集合

NSArray *keys = [dic allKeys];

获取所有值的集合

NSArray *values = [dic allValues];


2.可变数组NSMutableDictionary

初始化一个空的可变字典

NSMutableDictionary *dic2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"v1",@"key1",@"v2",@"key2",nil];

NSDictionary *dic3 = [NSDictionary dictionaryWithObject:@"v3" forKey:@"key3"];

向字典2对象中添加整个字典对象3

[dic2 addEntriesFromDictionary:dic3];

向字典2对象中最佳一个新的key3和value3

[dic2 setValue:@"value3" forKey:@"key3"];

初始化一个空的可变字典

NSMutableDictionary *dic1 = [NSMutableDictionary dictionary];

将空字典1对象内容设置与字典2对象相同

[dic1 setDictionary:dic2];

将字典中key1对应的值删除

[dic1 removeObjectForKey@"key1"];

根据指定的数组(key)移除字典1的内容

NSArray *array = [NSArray arrayWithObjects:@"key1", nil];

[dic2 removeObjectsForKeys:array];

移除字典所有对象

[dic1 removeAllObjects];


遍历字典

快速枚举

for (id key in dic){

     id obj = [dic objectForKey:key];

     NSLog(@"%@", obj);

}

一般枚举

NSArray *keys = [dic allKeys];

inr length = [keys count];

for (int i = 0; i < length;i++){

     id key = [keys objectAtIndex:i];

     id obj = [dic objectForKey:key];

     NSLog(@"%@", obj);

}

通过枚举类型枚举

NSEnumerator *enumerator = [dic keyEnumerator];

id key = [enumerator nextObject];

while (key) {

        id obj = [dic objectForKey:key];

        NSLog(@"%@", obj);

        key = [enumerator nextObject];

}

转自:http://seven-sally.lofter.com/post/19d861_5404fa

IOS第十一天——Obj-C中的快速枚举

最近白天在公司的时候一堆事儿,搞的很头大,只有晚上回家有时间看书学习了,所以趁着有空就多学点儿,那么接下来就学习下Obj-C中的快速枚举,快速枚举是Obj-C的一个特性,可以让开发人员很容易地枚举容器...
  • jeepxiaozi
  • jeepxiaozi
  • 2013年04月23日 22:14
  • 3581

目前最细致清晰的NSDictionary以及NSMutableDictionary用法总结

http://www.cnblogs.com/wengzilin/archive/2012/03/15/2397712.html 做过Java语言 或者 C语言 开发的朋友应该很清楚 关...
  • jeffasd
  • jeffasd
  • 2015年12月29日 16:22
  • 2702

iOS NSDictionary、NSData、JSON数据类型相互转换

iOS经常需要用到数据类型的转换,下面列举一下常用类型的转换。 1.NSDictionary类型转换为NSData类型: [cpp] view plaincopy ...
  • tangwei019917
  • tangwei019917
  • 2013年03月14日 09:28
  • 23040

ObjectC----字典类和集合类以及快速枚举和OC中的数组排序

// Create By 郭仔  2015年04月01日20:06:36 // 不可变字典     // 字典是适用于存放键值对的一种集合,里面的元素必须是对象类型   ...
  • guoxianzhuang
  • guoxianzhuang
  • 2015年04月01日 20:06
  • 5681

目前最细致清晰的NSDictionary以及NSMutableDictionary用法总结

做过Java语言 或者 C语言 开发的朋友应该很清楚 关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便。在Objective-C语言中 词典...
  • xueer8835
  • xueer8835
  • 2012年09月27日 16:17
  • 1002

目前最细致清晰的NSDictionary以及NSMutableDictionary用法总结

做过Java语言 或者 C语言 开发的朋友应该很清楚 关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便。在Objective-C语言中 词典...
  • long1437
  • long1437
  • 2015年05月20日 10:42
  • 151

目前最细致清晰的NSDictionary以及NSMutableDictionary用法总结

做过Java语言 或者 C语言 开发的朋友应该很清楚 关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便。在Objective-C语言中 词典...
  • GarfieldEr007
  • GarfieldEr007
  • 2016年05月22日 17:25
  • 330

Objective-C学习笔记(4)----NSDictionary以及NSMutableDictionary用法总结

做过Java语言 或者 C语言 开发的朋友应该很清楚 关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便。在Objective-C语言中 词典...
  • johnsonlrd
  • johnsonlrd
  • 2012年09月04日 20:32
  • 720

NSDictionary以及NSMutableDictionary用法总结

1.NSDictionary创建不可变词典 [NSDictionary dictionaryWithObjectsAndKeys:..] : 使用键值对儿直接创建词典对象,结尾必需使用nil标志...
  • u011140147
  • u011140147
  • 2014年04月08日 11:38
  • 634

目前最细致清晰的NSDictionary以及NSMutableDictionary用法总结

做过Java语言 或者 C语言 开发的朋友应该很清楚 关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便。在Objective-C语言中 词典...
  • xujixiaoshen
  • xujixiaoshen
  • 2014年05月24日 17:05
  • 182
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NSDictionary、NSMutableDictionary的各种实用的用法以及枚举
举报原因:
原因补充:

(最多只允许输入30个字)