OC-字典的运用

 

    //.字典

    //NSdictionary

    //字典是用来存储数据,以键值对的形式存储

    //key : value

    //字典由多个键值对构成

    //一般用在网络数据解析

    //1.创建字典 @{} 代表字典

    //value 是任意一个对象,包括数组和字典等

    //打印时{}代表字典 ,[]代表数组

     NSDictionary *dic0=@{@"users":@"1000000"};

     NSDictionary *dic1=@{@"name":@"ZhangFei",@"sex":@"M",@"tel":@"188",@"dddc":dic0};

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

       //从字典中拿数据

      // 1.使用[key]的形式获取value

    NSString *name=dic1[@"name"];

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

       // 使用方法获取数组数组元素

     NSString *name2=[dic1 objectForKey:@"name"];

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

    

    //2.多级字典取值

    NSDictionary *dic2=@{@"dict":dic1,@"other":@"other things"};

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

    

    NSString *tel =dic2[@"dict"][@"tel"];

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


     //三层字典

    NSString *user=dic2[@"dict"][@"dddc"][@"users"];

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

    

    //4.可变字典

    //NSMutableDictionary

    //使用可变字典首先分配内存

    //注意点:字典中的键值是无序的

     NSMutableDictionary *madic=[NSMutableDictionary dictionaryWithCapacity:10];

    //添加键值对

    //遵守NScopying协议的常见类

    //NSString,NSnumber

    [madic setObject:@"zhangfei" forKey:@"name"];

    

    [madic setObject:@"M" forKey:@"sex"];

    

    [madic setObject:@"1777" forKey:@"tel"];

    [madic setObject:@"beijing" forKey:@"address"];

    

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

    

//    //移除键值对(removeObjectForKey:),根据key移除相应的键值对

    

    

    [madic removeObjectForKey:@"sex"];

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

    

    NSLog(@"字典键值对的个数:%lu",madic.count);

       //获取一个字典的所有keyvalue

    

    NSArray *allKeys=[madic allKeys];

    

    for (NSString *key in allKeys)

    {

        //根据拿到的key去获取字典中的值

        

        id value=madic[key];

        NSLog(@"key=%@,value=%@",key,value);

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值