首页 > 代码库 > 【OC学习-19】NSDictionary字典对象的初始化以及常用操作方法归纳

【OC学习-19】NSDictionary字典对象的初始化以及常用操作方法归纳

字典主要特征是一对一对的key和value组成,它的分类以及针对元素的操作和NSString以及NSArray的都差不多。重点在于了解一遍,具体做项目时再加深理解。

        //不可变字典
        //初始化字典,一般key值是字符串对象。空值用NSNull对象表示
        NSDictionary *dic1=[NSDictionary dictionaryWithObjects:@"value1" forKeys:@"key1"];
        NSDictionary *dic2=[NSDictionary dictionaryWithObjectsAndKeys:@"value2",@"key2",@"value3",@"key3", nil];
        NSDictionary *dic3=[NSDictionary dictionaryWithDictionary:dic1];
        
        //获取字典的数量
        NSInteger * int1=[dic2 count];
        //通过key获取value值
        NSObject *objNew=[dic2 objectForKey:@"key2"];
        //将字典的key变成一个枚举对象用于遍历
        NSEnumerator *enumerator=[dic2 keyEnumerator];
        //获取所有key的集合
        NSArray *arr1=[dic2 allKeys];
        //获取所有value的集合
        NSArray *arr2=[dic2 allValues];
        
        
        //可变字典
        //初始化,和上面的类似
        NSMutableDictionary *dic4=[NSMutableDictionary dictionary];
        NSMutableDictionary *dic5=[NSMutableDictionary dictionaryWithObjectsAndKeys:@"v1",@"k1",@"v2",@"k2", nil];
        
        //把一个字典加到另一个里面
        [dic4 addEntriesFromDictionary:dic1];
        
        //给字典新增元素
        [dic5 setObject:@"v3" forKey:@"k3"];
        [dic5 setDictionary:dic1];//把dic5的内容设置成dic1一样的内容
        
        //移除所有元素、根据key值一个个移除,也可把key值设置为array后,把array传递进来
        [dic5 removeAllObjects];
        [dic5 removeObjectForKey:@"k1"];
        [dic5 removeObjectsForKeys:arr1];
        
        //快速遍历方法
        for (id key in dic5) {
            id obj=[dic5 objectForKey:key];
            NSLog(@"%@",obj);
        }
        //常用遍历方法
        NSArray *aKey=[dic5 allKeys];
        int length=[aKey count];
        for (int i; i<length; i++) {
            id keyNew=[aKey objectAtIndex:i];
            id obj=[dic5 objectForKey:keyNew];
        }
        //利用Enumerator遍历
        NSEnumerator *emu1=[dic5 keyEnumerator];
        id key=[emu1 nextObject];
        while (key) {
            id obj=[dic5 objectForKey:key];
            NSLog(@"%@",obj);
            key=[emu1 nextObject];
        }


【OC学习-19】NSDictionary字典对象的初始化以及常用操作方法归纳