Objective-C 初窥之字典(Dic)

1 前言

今天我们来学习一下Objective-C 中的字典,类似Java里的Map是key-value的形式进行存储的。

2 NSDictionary简介

NSDictionary这种容器与NSArray一样,是不可变的。

它将 键-值关联起来,使用它,你可以方便高效的利用键值检索数据。
一个键只能对应一个值,一个值却可以有很多键。
通常,键可以是任何遵循NSCopying协议的对象,但是通常是一个NSString,键值和数据必须不为nil,如果想表示一个空的值,则用NSNull。

通过setValue增加字典元素,然后调用objectForKey取出元素,NSDictionary类主要使用就是这两个操作。但是,如果将普通的字符串对象换成另外NSDictionary对象,二另外的NSDictionary对象又可以包含NSArray,NSDictionary等各种对象,从而可以创建非常复杂的数据结构,NSDictionary的灵活和强大作用才真正显示出来。

2.1 创建字典

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil];

初始化一个新的已分配好内存的字典,这个字典的内容包括了,value是一个objects的数组,key是一个keys的数组。

- (id)initWithObjectsAndKeys:(id)firstObject , ...
初始化一个新的字典,这个字典的内容根据传入的 object,key 而定
比如:
NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil];
2.2 查询内容个数,比较

- (NSUInteger)count //返回字典的key数。
- (BOOL)isEqualToDictionary:(NSDictionary *)otherDictionary //比较两个字典
2.3 访问 键和值 (key - value)

- (NSArray *)allKeys //返回一个数组,数组里包含的是所有的key
- (NSArray *)allValues //返回一个数组,数组里包含的是所有的value
- (id)objectForKey : (id)aKey //返回给定key与之关联的value,若key不存在,返回nil.
- (id)valueForKey:(NSString *)key //返回给定key与之关联的value

3 NSMutableDictionary简介

Mutable version of NSDictionary.它是NSDictionary的可变版本。

+(id)dictionaryWithCapacity:size    //创建一个size大小的可变字典
-(id)initWithCapacity:size          //初始化一个size大小的可变字典
-(void)removeAllObjects             //删除字典中所有元素
-(void)removeObjectForKey:key       //删除字典key位置的元素
-(void)setObject:obj forKey:key     //增加(obj,key)到字典中,若key已经存在,则替换值为obj




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值