zoukankan      html  css  js  c++  java
  • NSDictionary、NSMutableDictionary及其枚举器的用法

    1.不可变词典NSDictionary
    
    
    
    
    字典初始化
    
    NSNumber *numObj = [NSNumber numberWithInt:100];
    
    以一个元素初始化
    
    NSDictionary *dic = [NSDictionary dictionaryWithObject:numObj forKey:@"key"];
    
    初始化两个元素
    
    NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:numObj, @"valueKey", numObj2, @"value2",nil];
    
    初始化新字典,新字典包含otherDic
    
    NSDictionary *dic = [NSDictionary dictionaryWithDictionary:otherDic];
    
    以文件内容初始化字典
    
    NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:path];
    
    
    
    常用方法
    
    获取字典数量
    
    NSInteger count = [dic count];
    
    通过key获取对应的value对象
    
    NSObject *valueObj = [dic objectForKey:@"key"];
    
    将字典的key转成枚举对象,用于遍历
    
    NSEnumerator *enumerator = [dic keyEnumerator];
    
    获取所有键的集合
    
    NSArray *keys = [dic allKeys];
    
    获取所有值的集合
    
    NSArray *values = [dic allValues];
    
    
    
    
    
    
    2.可变数组NSMutableDictionary
    
    初始化一个空的可变字典
    
    NSMutableDictionary *dic2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"v1",@"key1",@"v2",@"key2",nil];
    
    NSDictionary *dic3 = [NSDictionary dictionaryWithObject:@"v3" forKey:@"key3"];
    
    向字典2对象中添加整个字典对象3
    
    [dic2 addEntriesFromDictionary:dic3];
    
    向字典2对象中最佳一个新的key3和value3
    
    [dic2 setValue:@"value3" forKey:@"key3"];
    
    初始化一个空的可变字典
    
    NSMutableDictionary *dic1 = [NSMutableDictionary dictionary];
    
    将空字典1对象内容设置与字典2对象相同
    
    [dic1 setDictionary:dic2];
    
    将字典中key1对应的值删除
    
    [dic1 removeObjectForKey@"key1"];
    
    NSArray *array = [NSArray arrayWithObjects:@"key1", nil];
    
    根据指定的数组(key)移除字典1的内容
    
    [dic2 removeObjectsForKeys:array];
    
    移除字典所有对象
    
    [dic1 removeAllObjects];
    
    
    
    
    
    
    
    
    3.遍历字典
    
    
    
    快速枚举
    
    for (id key in dic){
    
         id obj = [dic key];
    
         NSLog(@"%@", obj);
    
    }
    
    NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil];
    
    for (NSString *key in dict) {
     NSLog(@"key: %@ value: %@", key, dict[key]);
    }
    
    
    
    一般枚举
    
    NSArray *keys = [dic allKeys];
    
    inr length = [keys count];
    
    for (int i = 0; i < length;i++){
    
         id key = keys[i];
    
         id obj = dic[key];
    
         NSLog(@"%@", obj);
    
    }
    
    
    
    通过枚举类型枚举
    
    NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil];
    
    for (NSString *key in dict) {
     NSLog(@"key: %@ value: %@", key, dict[key]);
    }
      
    Stay hungry,stay foolish.
  • 相关阅读:
    nginx防盗链配置
    nginx禁止非sever_name指定域名访问
    linux下配置python环境 django创建helloworld项目
    node解析修改ngix配置文件
    ~/.ssh/config文件的使用
    SpringCloud-Feign声明式服务调用
    Hystrix 配置参数全解析
    Eureka 的高级使用
    eureka中显示有服务但是通过ribbon调用显示No instances available for service-hello的问题
    EureKa:服务注册与发现
  • 原文地址:https://www.cnblogs.com/ficow/p/5038886.html
Copyright © 2011-2022 走看看