zoukankan      html  css  js  c++  java
  • [好程序员训练营]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);

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

  • 相关阅读:
    c++中的extern
    DOS性能监视器
    谈谈.NET中的内存管理(转帖)
    static_cast和dynamic_cast
    关于对EventHandler 和e的理解(转帖)
    使用Windows Mobile 6模拟器上网的步骤(转帖)
    接口抽象类类
    当前不会命中断点 尚未加载指定的模块 windows mobile
    C# 编码的双重检验锁定
    Loadrunner 监控Unix系统性能指标的解释
  • 原文地址:https://www.cnblogs.com/ITLiu/p/4551135.html
Copyright © 2011-2022 走看看