您的位置:首页 > 移动开发 > IOS开发

IOS OC 字典

2015-12-04 21:02 459 查看
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"};

        //用字典把一个人物的特征表示出来,name,age,face,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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  OC 字典