[Objective-C]OC中字典基本概念和常用方法

    一:字典的基本概念

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

    通过key(键),查找的对应的value(值),key通常是字符串对象,也可以是其他任意类型对象.在一个字典对象中,key的值必须是唯一的.

    此外,字典对象的键和值不可以为空(nil),如果需要在字典中加入一个空值,可以加入NSNull对象

    二:不可变字典-NSDictionary

    1:初始化(以一个元素和多个元素进行初始化):

    //以一个键值对象 进行初始化

    NSDictionary *dict1=[NSDictionary dictionaryWithObject:@"number" forKey:@"key1"];
    NSLog(@"%@", dict1);

  //以多个元素进行初始化
  
    NSDictionary *dict2=[NSDictionary dictionaryWithObjectsAndKeys:@"number", @"key1", @"number1",@"key2", nil];
    NSLog(@"%@",dict2);
2:获取字典的数量

    //获取字典的数量

    NSInteger count=[dict2 count];

    NSLog(@"%ld",count);

    3:根据key获取相应的value对象

    //根据key获取相应的value对象

NSString *value=[dict2 objectForKey:@"key1"];        NSLog(@"%@",value);
4:把字典的key转换成枚举对象用于遍历

    NSEnumerator *enumerator=[dict2 keyEnumerator];

    5:获取所有的key集合

    //获取所有的key集合

NSArray *keys= [dict2 allKeys];        NSLog(@"%@",keys);
6:获取所有的value集合

    //获取所有的value集合

NSArray *values=[dict2 allValues];        NSLog(@"%@",values);
三:可变字典NSMutableDictionary继承自NSDictionary

    1:初始化字典

//初始化字典        NSMutableDictionary *mutableDic=[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"v1",@"k1",@"v2",@"k2",@"v3",@"k3",@"v4",@"k4",@"v5",@"k5", nil];
2:向字典中添加指定的字典

    //向一个字典中添加一个字典

NSDictionary *dict4=[NSDictionary dictionaryWithObject:@"v6" forKey:@"k6"];        [mutableDic addEntriesFromDictionary:dict4];        NSLog(@"%@",mutableDic);
3:向字典中添加value和key

//向字典中添加value和key        [mutableDic setValue:@"object" forKey:@"key"];
4:创建空的字典,然后设置新的一个字典

   

//创建空的字典,然后设置新的一个字典,把会之前的字典全部覆盖掉        NSMutableDictionary *mutableDict2=[NSMutableDictionary dictionary];        [mutableDict2 setDictionary:mutableDic];        NSLog(@"%@",mutableDict2);
5:删除指定key的value值

//移除指定key的value值        
[mutableDict2 removeObjectForKey:@"k4"];        
NSLog(@"%@",mutableDict2);
6:删除移除key集合的value值

//删除一组key的value值        
NSArray *arrayKeys=[NSArray arrayWithObjects:@"k1",@"k2",@"k3", nil];        
[mutableDict2 removeObjectsForKeys:arrayKeys];        
NSLog(@"%@",mutableDict2);
7:删除字典中所有的value

    //删除字典中所有的数据

[mutableDict2 removeAllObjects];        
NSLog(@"%@",mutableDict2);



  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值