• 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

  • 相关阅读:
    如何快速给pod添加健康检查?
    如何快速下载vagrant的box?
    如何快速新建sql的demo环境?
    如何快速将某个用户添加sudo免密以及docker权限?
    七、Docker+nginx
    六、Docker+Gitlab
    五、Docker+Sqlserver
    四、Docker+Tomcat
    Docker 内程序时间设置,很重要
    三、Docker镜像的相关操作
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5037042.html
Copyright © 2020-2023  润新知