• [好程序员训练营]Objective-C学习笔记---基本数据结构NSDictionary


        <A href="http://www.goodprogramme r.org/" target="blank">ios培训</A>------我的OC语言笔记,期待与您交流!

      前言:NSDictionary是OC中的字典类型,定义一个字典对象,那么这个字典对象里的数据时以键值对的形式存储的。相比于NSArray和NSString类型,他们三个都能够创建不可变对象和可变对象,并且创建方法也大致相同,但是NSDictionary类型更方便于查找元素,下面来看看NSDictionary如何创建不可变字典和可变字典

    一、NSDictionary创建不可变字典

     1    ///////////创建一个不可变字典///////////
     2     NSDictionary * dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"xiaoming",@"1",@"xi    aohong",@"2",@"xiaogang",@"3", nil];
     3     NSLog(@"%@",dict);  //注意这儿打印输出的顺序和你往字典里添加键值对的顺序并不一致

    4 ///////////用枚举器法遍历字典//////////////// 5 NSEnumerator * enumerator = [dict keyEnumerator]; //将键装进枚举器 6 id key; 7 while(key=[enumerator nextObject]){ 8 NSLog(@"%@",key); //打印键 9 NSLog(@"%@",[dict objectForKey:key]); //通过键找到值 10 } 11 12 NSEnumerator * enumerator1 = [dict objectEnumerator];//将值装进枚举器 13 id obj; 14 while(obj=[enumerator1 nextObject]){ 15 NSLog(@"%@",obj); //直接打印值 16 } 17 18 /////////////////快速枚举法//////////////// 19 for(id key in dict){ 20 NSLog(@"%@",key); //打印键 21 NSLog(@"%@",[dict objectForKey:key]); //通过键找到值 22 }

    创建一个不可变字典过后,里面的键值对就固定了,不能再修改添加,只可进行查看

    二、NSMutableDictionary创建可变字典

    1     ///////////////创建一个可变字典/////////////////
    2     NSMutableDictionary *mdict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"xiaomi      ng",@"1", nil];   
    3     
    4     [mdict setValue:@"xiaohong" forKey:@"2"]; //添加键值对
    5     NSLog(@"%@",mdict);
    6 
    7     [mdict removeObjectForKey:@"2"];          //删除键值对
    8     NSLog(@"%@",mdict);

    此外,可变字典也可以用不可变字典里那些查看字典的方法

  • 相关阅读:
    《Linux设备驱动开发详解(第2版)》配套视频登录51cto教育频道
    异常Address already in use: JVM_Bind的处理
    你的Jsp页面有黄×么,有黄色问号么?Multiple annotations found at this line:
    dispatch_get_current_queue 废弃
    二叉树代码(较全)
    ArrayList and LinkedList
    android的tabhost+RadioGroup+PopupWindow
    子进程继承父进程的当前工作目录的问题
    oracle AWR深入研究分析,如何使用
    Linux下对后台进程通过kill传递信号不起作用的问题
  • 原文地址:https://www.cnblogs.com/ITLiu/p/4551135.html
Copyright © 2020-2023  润新知