zoukankan      html  css  js  c++  java
  • Objective-c 字典常用的方法

    字典是无序的  数组是有序的
    字典分为:可变字典和不可变字典
    01    --------不可变字典对象
    02    NSDictionary * dict = [[NSDictionary alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2",@"three",@"3",@"four",@"4", nil];
    03        //value = key
    04        //初始化必须一一对应  字典的内容是键值对   key->value  内容可以是任意的对象指针
    05        //key   一般是NSString *   value   可以是任意对象
    06        //不能出现重复的key    key是唯一的
    07    
    08    NSDictionary * dict1 = [NSDictionary dictionaryWithDictionary:dict];
    09    
    10    NSArray * values = [NSArray arrayWithObjects:@"one",@"two",@"three", nil];
    11    NSArray * keys = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];//key-value要一一对应
    12    NSDictionary * dict2 = [[NSDictionary alloc]initWithObjects:values forKeys:keys];
    13    
    14    [dict count]//键值对的个数    键值对必须成对出现
    15    [dict objectForKey:@"5"]//根据key找到对应的value
    16    
    17    //创建一个key的枚举器   把字典中key元素地址传给枚举器
    18    NSEnumerator * enumer1 = [dict keyEnumerator];
    19    id obj;
    20    while (obj = [enumer1 nextObject]) {
    21        NSLog(@"%@",[dict objectForKey:obj]);
    22    }
    23         
    24    //创建值的枚举器(一般不使用,没有意义)
    25    NSEnumerator * enumer2 = [dict objectEnumerator];
    26    while (obj = [enumer2 nextObject]) {
    27         NSLog(@"%@",obj);
    28    }
    29    //快速枚举 枚举的是key(不能改数据,只能读)
    30    for(id key in dict){
    31         NSLog(@"%@",key);
    32    }
    33    
    34    NSArray * array = [urlItemDict allValues];//获取所有value
    35    NSArray * array = [urlItemDict allKeys];//获取所有key------可变字典对象
    1    ------可变字典对象
    2    
    3    NSMutableDictionary * dict = [[NSMutableDictionary alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2",@"three",@"3",@"four",@"4", nil];
    4             
    5    [dict setObject:@"seven" forKey:@"7"];//增加键值对   key已经存在 则修改value        不存在则添加
    6    [dict setObject:@"nine" forKey:@"1"];//修改value
    7    [dict removeObjectForKey:@"1"];//删除键值对

  • 相关阅读:
    未来 3-5 年信息安全行业会如何变化,目前可以观察到的变化有哪些?
    信息安全经典书籍
    Apparmor——Linux内核中的强制访问控制系统
    深入理解SELinux
    FreebuF黑客专访系列之吴翰清(刺):接下来几年,有两样东西必定会火
    Security Checklist (路由器安全checklist)
    CPU MPU MCU SOC SOPC关系及区别
    军火库(第一期):无线电硬件安全大牛都用哪些利器?
    华为V-ISA信誉安全体系:对付新型DDoS攻击的利器
    物联网兴起 嵌入式系统安全日益受关注
  • 原文地址:https://www.cnblogs.com/liuxp1990/p/3416223.html
Copyright © 2011-2022 走看看