zoukankan      html  css  js  c++  java
  • OC-字典

    1.所有的key都是一个字符串,键 值是成对出现的。且都不能为空,非要为空要使用NSnull。字典是通过key来存取值的,key valu必须成对出场

     

     2.字典是有键-值的数据组合,通过key查找对于的value,值可以是其他任意的类型,key必须是唯一的。 

     

     3.为什么要使用字典呢?而不使用数组?

    答?数组特征:数组是按一定顺序排列的集合,通过下标去取值(当希望数据室按照一定的顺序去排列的时候,选择用数组);

          字典的特征:通过key存取值(获取一个标记准确的得到一个我们想要的值,数组的话如果下标不知道的话,就无法取到想要的值),key是我们指定的一个标记。

     

    4.字典初始化:

    a.初始化空字典:

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

    NSDictionary *dic1 = [NSDictionary dictionary];

    b.初始化的同时并添加一对键、值

    NSDictionary *dic = [NSDictionary dictionaryWithObject:@"value" forKey:@“key9”];

    c.初始化的同时并添加多对值

    NSDictionary *str3 = [NSDictionary dictionaryWithObjectsAndKeys:@"object1",@"key1",@"object2",@"key2",@"object3",@"key3", nil];

    d.新写法

    NSDictionary *dic= @{@“key”:@"值"};

     

    5.将字典的元素添加到另一个字典

    将dic1中所有的元素添加到dic中

    [dic addEntriesFromDictionary :dic1];

    不能重复是key 替换以后包括值都替换了(添加相同的key 会将原来的value覆盖掉) 

    根据key删除元素

    [dic removeObjectForKey :@“cheng”]

    根据多个key删除多个元素

    [dic removeObjectForKey :@[@“cheng”,@“hong”]]

     

    6.字典的取值

    1.NSString *n = [dic5 objectforkey:@“key”];

    2.NSString *n = dic [@“key”]; 

     

    7.遍历字典

    快速遍历

    比普通遍历要简洁

    allkeys 是所有key的一个数组

    count 是得到数组内有多少个元素

    例子:NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@(80),@"语文",@(100),@"数学",@(99),@"英语", nil];

    1.for(id n in dic.allkeys)//(记得加上点哦)是利用数组的思想

    {NSLog(@“%@ %@”,n,objectforkey:uu);或者NSLog(@“%@ %@”,n,dic[uu])

    }

    2.for (NSString *key in dic){

                NSLog(@"w%@%@",key,dic[key]);

            }//也可以直接找出里面的key。

     

    7.字典嵌套

    首先要先取出要哪个值所在的字字典,然后再取出对应的值。

    8.可变字典.

    和数组差不多

    [NSMutableDictionary *dic =  dictionary];

    //通过key设置字典里面的值(相同的key就替换了)

            [dic setObject:@"苹果" forKey:@"Apple"];

            [array setObject:@"123" forKey:@"Apple"];

    //通过key移除字典里面的值(两个都移除了)

            [dic removeObjectForKey:@"Apple"];

            NSLog(@"%@",dic);

    //和数组一样,不能使用这种初始化方式:@{@“”:@“”,@“”:@“”};

       但可以用新方法输出dic[@""];。     

     

  • 相关阅读:
    ssh框架中文保存数据库MySQL乱码
    SSH ERROR com.opensymphony.xwork2.interceptor.ParametersInterceptor
    SSH(六)hibernate持久层模板于事务管理
    SSH(五)spring整合hibernate
    javaweb string
    spring加载配置文件
    order by 与 group by 区别
    PowerDesigner从SqlServer数据库中导入实体模型
    方向
    关于Hibernate 的数据库配置
  • 原文地址:https://www.cnblogs.com/chenhongios/p/4581553.html
Copyright © 2011-2022 走看看