zoukankan      html  css  js  c++  java
  • NSDictionary、NSMutableDictionary基本使用

    郝萌主倾心贡献,尊重作者的劳动成果。请勿转载。

    假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 

    我要捐赠: 点击捐赠

    Cocos2d-X源代码下载:点我传送

    游戏官方下载:http://dwz.cn/RwTjl

    游戏视频预览:http://dwz.cn/RzHHd

    游戏开发博客:http://dwz.cn/RzJzI

    游戏源代码传送:http://dwz.cn/Nret1


    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];


    遍历字典

    高速枚举

    for (id key in dic){

         id obj = [dic objectForKey:key];

         NSLog(@"%@", obj);

    }

    一般枚举

    NSArray *keys = [dic allKeys];

    inr length = [keys count];

    for (int i = 0; i < length;i++){

         id key = [keys objectAtIndex:i];

         id obj = [dic objectForKey:key];

         NSLog(@"%@", obj);

    }

    通过枚举类型枚举

    NSEnumerator *enumerator = [dic keyEnumerator];

    id key = [enumerator nextObject];

    while (key) {

            id obj = [dic objectForKey:key];

            NSLog(@"%@", obj);

            key = [enumerator nextObject];

    }

    郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。

    假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主。捐赠数额任意,重在心意^_^ 

    我要捐赠: 点击捐赠

    Cocos2d-X源代码下载:点我传送

    游戏官方下载:http://dwz.cn/RwTjl

    游戏视频预览:http://dwz.cn/RzHHd

    游戏开发博客:http://dwz.cn/RzJzI

    游戏源代码传送:http://dwz.cn/Nret1

  • 相关阅读:
    zabbix添加Tomcat监控
    Jenkins发布
    Linux : 从私钥中提取公钥
    记一次拆机除尘换硅脂的经历,第一次拆机幸好没拆坏,心真大-_-!
    超简单让ubuntu开启wifi热点(亲测16.04与14.04可用)
    一起动手打造个人娱乐级linux
    python数据结构之链表(一)
    华为OJ机试题目:两个大整数相乘(纯C语言实现两个大整数相乘,两种方法实现大数相乘)
    C语言学习笔记---好用的函数memcpy与memset
    个人关于python装饰器的白痴理解
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5037042.html
Copyright © 2011-2022 走看看