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的Foundation中常用类4——字典NSDictionary、NSMutableDictionary

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

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

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

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

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

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

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

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

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

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

NSDictionary(字典),NSDictionary类似于 .net中的parameter,l类似于java中的map。 通过唯一的key找到对应的值,一个key只能对应一个只,而多个ke...

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

做 ios 开发,NSDictionary、NSMutableDictionary,NSMutableArray、NSArray 都是很常用的容器类 Array 就不多做讨论了,今天的文章主要讨论 ...

iOS/Objective-C开发 字典NSDictionary的深复制

iOS/Objective-C开发 字典NSDictionary的深复制(使用category) 2012年03月22日, 09:15  目标:把NSDictionary对象转换成NSMutab...

iOS/Objective-C开发 字典NSDictionary的深复制(使用category)

目标:把NSDictionary对象转换成NSMutableDictionary对象,对象内容是字符串数组,需要实现完全复制(深复制)。 如果调用NSDictionary的mutableCopy方法...

ios objective-c之-9:字典,可变字典 (NSDictonary NSMutableDictoray)

iOS字典,可变字典 (NSDictonary NSMutableDictoray)的详解,遍历,排序
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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