oc字典

字典存在的价值

1.大容器,用来存储多个数据

2.用来存储的数据具有一一对应关系(使用key来标识value)

3.对于字典的一对键值对(key - value)叫做字典中的一个元素,也叫做一个条目,只要是对象就可以,不限限制类型

4.字典是无序的

5.字典中的key值是唯一的,一个key值只能对应一个value,一个value可以对应多个key


NSDictionary

1.创建字典对象

 NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"志远",@"name" ,@20,@"height",@12,@"age",nil];name = 志远

 NSLog(@"dic = %@",dic);

(1)便利构造器

(2)初始化方法

NSDictionary *dict = [[NSDictionary alloc]initWithObjectsAndKeys:@"志远",@"name" ,@20,@"height",@12,@"age", nil];

NSLog(@"dict = %@",dict);


2.求字典元素个数

      NSInteger count = [dict count];

      NSLog(@"count = %ld",(long)count);

3.获取所有的key

      NSArray *keys = [dict allKeys];

      NSLog(@"keys = %@",keys);

4.根据key获取对应的value(对象)

     NSString *name = [dic objectForKey:@"name"]; 

      NSLog(@"name = %@",name);

     NSString *height = [dic objectForKey:@"height"];

      NSNumber *height = [dic objectForKey:@"height"];

    [height length];不能识别的方法发给一个地址

        NSLog(@"height = %@",height);

5.字典快速遍历

      对于数组来说,遍历得到的是数组中的每一个元素,

      对于字典来说,遍历得到的是字典中的key,然后通过key获取value

        for (NSString *key in dic) {

       检索到key之后,通过objectForKey:获取key对应的value

           NSLog(@"%@",[dic objectForKey:key]);

       }

        

        对于可变字典来说,必不可变字典多了增加删除,修改操作

        1.创建对象

        NSMutableDictionary *di = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"xiaoguang",@"guanggun1",@"xiaomeng",@"guanggun2",@"xiaodiao",@"guanggun3", nil];

    

        2.求字典中元素个数

        NSLog(@"%ld",[di count]);

        3.删除元素

        [di removeObjectForKey:@"guanggun1"];

        NSLog(@"%@",di);

        [di removeAllObjects];

        NSLog(@"%@",di);

        4.添加元素

        [di setObject:@"chengjie" forKey:@"guanggun4"];

        NSLog(@"%@",di);

        5.修改key中对应的value

        [di setObject:@"xiaocui" forKey:@"guanggun4"];

        NSLog(@"%@",di);

        etObject  forKey:  工作原理:现根据指定的key查找字典中是否存在相同的key,(查找字典中是否存在指定的key),如果存在则修改key对应的value,如果没有,则添加一个元素,key-value键值对

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值