Objective-C的字典类NSDictionary

原创 2013年12月02日 20:01:40

1.初始化

//初始化一组数组,存入字典中作为关键字
NSNumber *num = [NSNumber numberWithInt:100];
NSDictionary *dic1 = [NSDictionary dictionaryWithObject:num forKey:@"key1"];

//初始化多组数据
NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:@"hello",@"key2",@"world",@"key3",@"csdn",@"key4", nil];

//用一个字典初始化另外一个字典
NSDictionary *dic3 = [NSDictionary dictionaryWithDictionary:dic2];

//打印输出
NSLog(@"dic1 :  %@,dic2  :  %@,  dic3   :   %@",dic1,dic2,dic3);
输出:dic1 :{

    key1 = 100;

},dic2  :  {

    key2 = hello;

    key3 = world;

    key4 = csdn;

},  dic3   :   {

    key2 = hello;

    key3 = world;

    key4 = csdn;

}

2.获取字典的值
//获取长度
int length = [dic2 count];
NSLog(@"dic2 length = %d",length);

//根据key获取key所对应的value
NSLog(@"key3 value = %@",[dic2 objectForKey:@"key3"]);

//可以获取所有的keys
NSArray *allkeys =  [dic3 allKeys];
NSLog(@"NSarray allkey = %@",allkeys);

//可以获取所有的values
NSArray *allvalues =  [dic3 allValues];
NSLog(@"NSarray allvalues = %@",allvalues);
输出:dic2  length = 3

     key3 value = world

     NSarray allkey = (

          key4,

          key3,

          key2

     )

     NSarray allvalues = (

          csdn,

          world,

          hello

     )

3.可变字典
//----- 初始化
NSMutableDictionary *dic4 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"one",@"key4",@"two",@"key5", nil];

//定义成空字典
NSMutableDictionary *dic5 = [NSMutableDictionary dictionary];
        
//将字典dic2整体添加到dic4钟
[dic4 addEntriesFromDictionary:dic2];

//添加一个元素
[dic4 setValue:@"three" forKey:@"key6"];

//根据key获取value
NSLog(@"key6 =  %@",[dic4 objectForKey:@"key6"]);
4.字典的遍历
(1)一般遍历
NSArray *keys4 = [dic4 allKeys];
        
for(int i=0;i<[dic4 count];i++)
{
        
    NSLog(@"dic4 key = %@,value=%@",[keys4 objectAtIndex:i],[dic4 objectForKey:[keys4 objectAtIndex:i]]);
}
输出:dic4 key = key3,value=world

     dic4 key = key6,value=three

     dic4 key = key4,value=csdn

     dic4 key = key2,value=hello

     dic4 key = key5,value=two

(2)高效的for遍历
for (NSString *key in dic4)
{
     NSLog(@"dic4 key = %@ ,value = %@",key,[dic4 objectForKey:key]);
}
输出:dic4 key = key3,value=world

     dic4 key = key6,value=three

     dic4 key = key4,value=csdn

     dic4 key = key2,value=hello

     dic4 key = key5,value=two

(3)枚举遍历
NSEnumerator *enum1 = [dic4 keyEnumerator];
//获取key,如果不为空,则进行偏移
id key = [enum1 nextObject];
while (key) 
{          
    NSLog(@"key = %@ ,value = %@ ",key,[dic4 objectForKey:key]);
            
    key = [enum1 nextObject];
}

输出:dic4 key = key3,value=world

     dic4 key = key6,value=three

     dic4 key = key4,value=csdn

     dic4 key = key2,value=hello

     dic4 key = key5,value=two

Objective-c:集合类型遍历方法详解

前言在编程中经常需要遍历集合类型的元素,当前有多种方法实现此功能,初学者大多习惯于用标准的C语言循环,当然也可以使用 NSEnumerator 以及快速遍历(for-in),Objective-c 引...
  • Hierarch_Lee
  • Hierarch_Lee
  • 2015年12月30日 22:58
  • 1347

[C++/object c]_[初级]_[std::map容器的使用总结和NSDictionary词典使用总结]

map容器 场景:map的元素是一对对的“关键字―值”组合,“关键字”用于搜寻,而“值”用来表示我们要存取的数据。 在map容器中,每个关键字只能出现一次,不能重复 void TestMap() { ...
  • moqj_123
  • moqj_123
  • 2015年06月06日 23:08
  • 1640

Objective-C中ORM的运用:实体对象和字典的相互自动转换

iOS开发中基于ORM的框架很多,如SQLitePersistentObject,实际开发中需求不同或场景不同,方式方法也就不同,有时项目中用不上ORM框架,或者出于公司或项目组习惯或规范、实际项目需...
  • cooldragon
  • cooldragon
  • 2014年02月08日 20:32
  • 16633

Objective-c的Foundation中常用类4——字典NSDictionary、NSMutableDictionary

Foundation中的字典是由键-值对组成的数据集合,好比java中的Map,在字典对象中key值必须是唯一的,另外字典对象中的键和值都不能为nil。,如果要在字典对象中表示一个空值,可以用NSNu...
  • shinilaobababa
  • shinilaobababa
  • 2012年12月29日 23:17
  • 874

【Objective-C】OC中字典基本概念和常用方法(NSDictionary和NSMutableDictionary)

一:字典的基本概念     Foundation中的字典(NSDictionary,NSMutableDictionary)是由键-值对组成的数据集合.正如,我们在字典里查找单词的定义一样. 通过...
  • jiangqq781931404
  • jiangqq781931404
  • 2014年02月07日 11:13
  • 5897

Objective-C学习-字典类型 NSDictionary 和 NSMutableDictionary

字典类型 NSDictionary 和 数组NSArray  类型相似,但存在数组里要取值每次都要遍历,这样就浪费了很长的时间,字典的便利就在于他在存取对象的时候,在后面会追加一个 键值,可以理解成一...
  • RunIntoLove
  • RunIntoLove
  • 2015年08月04日 20:01
  • 1136

iOS/Objective-C字典对象NSDictionary的使用20130608更新

个人整理转载请注明出处http://blog.csdn.net/rylt2011/article/details/9058421 dictionary是由建-对象对组成的数据集合,可通过对象的键从O...
  • rylt2011
  • rylt2011
  • 2013年06月08日 18:13
  • 7643

Objective-C------NSDictionary、NSMutableDictionary字典对象用法总结

//NSDictionary字典对象--不可变字典 /* 字典:由键-对象对组成的数据集合,可以是动态的,字典中的记录可以动态的添加和删除,可以用键检索词典或者枚举他们的内容 键:必须是单值,一般是字...
  • javamimi
  • javamimi
  • 2015年09月22日 16:46
  • 593

Objective-C ,ios,iphone开发基础:NSDictionary(字典) 和 NSMutableDictionary

NSDictionary(字典),NSDictionary类似于 .net中的parameter,l类似于java中的map。 通过唯一的key找到对应的值,一个key只能对应一个只,而多个ke...
  • wsq724439564
  • wsq724439564
  • 2013年08月26日 20:31
  • 3571

objective-c 自定义 NSDictionary 键类的注意事项

做 ios 开发,NSDictionary、NSMutableDictionary,NSMutableArray、NSArray 都是很常用的容器类 Array 就不多做讨论了,今天的文章主要讨论 ...
  • yang3wei
  • yang3wei
  • 2012年07月31日 08:21
  • 5820
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Objective-C的字典类NSDictionary
举报原因:
原因补充:

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