NSDictionary的初始化和一些常用的方法总结

 NSDictionary

    //初始化1。

    NSDictionary *dic11=[[NSDictionary alloc] initWithObjects:@[@"qwe",@"asd",@"zxc",@"qaz",@"wsx"] forKeys:@[@"111",@"222",@"333",@"444",@"555"]];

   

    //分别获取所有的键, 值

    NSLog(@"%@",dic11.allKeys);

    NSLog(@"%@",dic11.allValues);

    //获取字典键值对总数

    NSLog(@"%d",(dic11.count));

    //字典遍历,快速枚举

    for (id key in dic11) {

        id value=[dic11 objectForKey:key];

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

    }

   

    //不可变字典一样可以字面常量初始化,key在前,value在后.

    NSDictionary *dic00=@{@"keya":@"aaa",@"keyb":@111};

    NSLog(@"%@",dic00);

 

 

 //初始化的其他方法

   //一个键值对字典的初始化

 

    NSDictionary *dic1=[NSDictionary dictionaryWithObject:@"10001" forKey:@"000"];

 

  //内容与dic1一样的字典初始化

 

 NSDictionary *dic0=[NSDictionary dictionaryWithDictionary:dic1];

 

   

 //多个键值对字典的初始化1

 NSDictionary *dic2=[NSDictionary dictionaryWithObjects:@[@"11",@"22",@"33",@"44"] forKeys:@[@"first",@"second",@"third",@"four"]];

 

    

 

 //多个键值对字典的初始化2

NSDictionary *dic3=[NSDictionary dictionaryWithObjectsAndKeys:@"湘小几把一号是逗帝",@"逗帝",@"娘一号",@"逗圣",@"祥几把",@"逗战圣佛",nil];

 

  NSLog(@"%@",dic3[@"逗帝"]);

 

    

//建立一个内容与dic2一样的可变字典

    NSMutableDictionary *dic4=[NSMutableDictionary dictionaryWithDictionary:dic2];

 

 

//插入一个键值对,有同名的,则覆盖原来的值

    [dic4 setObject:@"jjj" forKey:@"jiji"];

    NSLog(@"%@",dic4);

    

 

    //插入某一个键值对,有同名的,则覆盖原来的值

    [dic4 setObject:@"999" forKeyedSubscript:@"lan"];

    [dic4 setObject:@"004" forKeyedSubscript:@"four"];

    NSLog(@"%@",dic4);

    

    

    //将dic1拼接到dic前面

     [dic4 addEntriesFromDictionary:dic1];

     NSLog(@"%@------",dic4);

    

    //移除某一个键值对

    [dic4 removeObjectForKey:@"third"];

    NSLog(@"%@",dic4);

    

    //将数组里的key对应的键值对移除

    [dic4 removeObjectsForKeys:@[@"five",@"000"]];

    NSLog(@"%@",dic4);

    

    //将dic4原来的内容全部都替换成dic11的内容

    [dic4 setDictionary:dic11];

    NSLog(@"%@",dic4);

    

    //将字典的内容保存到指定路径的文件中

    [dic4 writeToFile:@"/Users/apple/Desktop/dic4.plist" atomically:YES];

    

    //从指定路径中读取文件内容

    NSDictionary *dic5=[NSDictionary dictionaryWithContentsOfFile:@"/Users/apple/Desktop/dic4.plist"];

    NSLog(@"%@",dic5);

    //dict3和dict2的内容完全相同,实质上是一个新的对象.

   

    

    //字典的一种从指定路径文件获取内容的初始化方法。文件必须存在,不然内容是空的。

    NSDictionary *dic6=[[NSDictionary alloc] initWithContentsOfFile:@"/Users/apple/Desktop/dic4.plist"];

    NSLog(@"%@",dic6);

    

 

    //移除所有键值对。

    [dic4 removeAllObjects];

    NSLog(@"%@",dic4);

posted @   卢灿  阅读(15926)  评论(0编辑  收藏  举报
编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· 赶AI大潮:在VSCode中使用DeepSeek及近百种模型的极简方法
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
点击右上角即可分享
微信分享提示