IOS OC 字典


OC 字典

/*

 字典:key-值对应存在的数据集合

 新华字典:1、可以通过拼音也可以通过偏旁可以查找到想找的文字解释

 拼音、偏旁:key

 想找的文字解释:Value()

 字典不是按顺序排放的 

 key是一个关键字可以通过关键字搜索到对应的内容

 NSDictionary:字典

 字典里面的内容是成对出现的(key:

 key 是一个关键字(一个字符串)

  只要是object类型的数据都可以

 */


#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {

    @autoreleasepool {

 //初始化字典并赋值

        //1)直接赋值

        // 字典直接赋值用花括号@{}

        //key不能一样

       // NSDictionary *dic=@{@"key":@"",@"key1":@"1"};

        //用字典把一个人物的特征表示出来,nameageface,height,sex,weight

        NSDictionary *dic1=@{@"name":@"张三",@"age":@18,@"face":@"beautiful",@"height":@180,@"sex":@"",@"weight":@60,};

        NSDictionary *dic2=@{@"name":@"张三",@"age":@18,@"face":@"beautiful",@"height":@165,@"sex":@"",@"weight":@45,};

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

        //字典取值:在同一个字典里面key必须是唯一的

        //可以通过key来取值

        //取值公式:字典名[key];

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

        NSLog(@"%@",name);

       //遍历字典需要所有的key

      //allKeys可以获得字典里面所有的key

        //allValues可以获得字典里面所有的值

        for (NSString *s in [dic1 allKeys]) {

             NSLog(@"%@=%@",s,dic1[s]);

        }

          NSLog(@"%@",[dic1 allValues]);

        //其他初始化方式

       // NSDictionary *dic3=[NSDictionary dictionary];

      //  NSDictionary *dic=[[NSDictionary alloc]init];

        //‼️值和key要成对出现 先写值,key 每对元素也是用,隔开

        NSDictionary *dic4=[NSDictionary dictionaryWithObjectsAndKeys:@"zhi1",@"key1",@"zhi2",@"key", nil ];

        //字典取值的方法objectForKey

        [dic4 objectForKey:@"key1"];

         NSLog(@"%@",[dic4 objectForKey:@"key1"]);

        

        for (NSString *s in [dic1 allKeys]) {

            NSLog(@"%@=%@",s,[dic1 objectForKey:s]);

        }

        

        for (NSString *r in [dic2 allKeys]) {

            NSLog(@"%@=%@",r,[dic1 objectForKey:r]);

        }

        //初始化并赋一个值的方法

      //  NSDictionary *dic5=[NSDictionary dictionaryWithObject:@"" forKey:@"key"];

      /*可变字典:NSMutableDictionary

       也不可以直接赋值

       增删改查

       */

        //可变字典添加数据(Object key

        //[字典名 setObject: forKey:key];

        NSMutableDictionary *dic = [NSMutableDictionary dictionary];

        [dic setObject:@"内容:背着书包去上学" forKey:@"content"];

        [dic setObject:@"标题:一天" forKey:@"title"];

    

        //如果添加相同的key会覆盖这个key所对应的值

        //删除  指定key删除key对应的值

     //   [dic removeObjectForKey:@"content"];

     // removeObjectsForKeys:会移除数组里面所有key对应的值

        [dic removeObjectsForKeys:@[@"content"]];

       // 修改key对应的值和添加元素一样 如果没有就是添加 如果有就是覆盖

        [dic setObject:@"一个月" forKey:@"title"];

        

        /*

        字典打印出来的格式:用花括号引起来,每一个元素后面都有一个分号,都是成对出现

        {

        age = 18;

        face = beautiful;

        height = 180;

        name = "\U5f20\U4e09";

        sex = "\U7537";

        weight = 60;}


        */

    

    }

    return 0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值