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.
  • 相关阅读:
    jMeter 里 CSV Data Set Config Sharing Mode 的含义详解
    如何使用 jMeter Parallel Controller
    使用 Chrome 开发者工具 coverage 功能分析 web 应用的渲染阻止资源的执行分布情况
    使用 Chrome 开发者工具的 lighthouse 功能分析 web 应用的性能问题
    关于 SAP 电商云首页加载时触发的 OCC API 请求
    SAP UI5 确保控件 id 全局唯一的实现方法
    SAP 电商云 Accelerator 和 Spartacus UI 的工作机制差异
    介绍一个好用的能让网页变成黑色背景的护眼 Chrome 扩展应用
    Chrome 开发者工具 performance 标签页的用法
    Client Side Cache 和 Server Side Cache 的区别
  • 原文地址:https://www.cnblogs.com/ficow/p/5038886.html
Copyright © 2011-2022 走看看