文档章节

NSDictionary 的用法样例

 走向未来
发布于 2015/10/21 15:10
字数 379
阅读 1172
收藏 0
点赞 0
评论 0
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //1.实例化一个字典对象
        /*
         字典的元素 是任意的对象地址类型
         元素 是键值对   key - value 必须一一对应 成对出现
         最后 nil 作为结束
         字典内容 是无序的 跟存放顺序无关
         key是唯一 的不能重复    但是 不同的key 可以对应相同的值
         
         key通常写成 NSString *
         
         哈希表 散列函数的算法 进行存放和查找  查找效率非常高
         
         */

        NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"1",@"one",@"2",@"two",@"3",@"three",@"2015-4-23",@"today",@"xiaohong",@"name",@"2015-4-23",@"date", nil];
        NSLog(@"dict:%@",dict);
        //2.用一个字典实例化另外一个字典
        NSDictionary *dict2 = [[NSDictionary alloc] initWithDictionary:dict];
        NSLog(@"dict2:%@",dict2);
        
        //3.类方法实例化对象
        NSDictionary *dict3 = [NSDictionary dictionaryWithObjectsAndKeys:@"1",@"one",@"2",@"two",@"3",@"three", nil];
        NSLog(@"dict3:%@",dict3);
        
        NSDictionary *dict4 = [NSDictionary dictionaryWithDictionary:dict3];
        NSLog(@"dict4:%@",dict4);
        
        NSArray *keysArr = [[NSArray alloc] initWithObjects:@"one",@"two", nil];
        NSArray *valuesArr = [[NSArray alloc] initWithObjects:@"1",@"2", nil];
        //用两个数组 实例化一个字典 两个数组 元素要一一对应
        NSDictionary *dict5 = [NSDictionary dictionaryWithObjects:valuesArr forKeys:keysArr];
        NSLog(@"dict5:%@",dict5);
        
        //通过key 找到值  重要函数
        
        //只要我们 通过A找A对应的值 那么我们就可以用字典结构来存储
        //查找非常 快
        NSString *str = [dict2 objectForKey:@"date"];
        if (str) {
            NSLog(@"str:%@",str);
        }else {
            NSLog(@"没有找到");//找不到返回nil
        }
        
        
        //快速枚举遍历
        //快速枚举遍历的是key
        for (NSString *key in dict2) {
            NSLog(@"key:%@ - %@",key,[dict2 objectForKey:key]);
        }
        
        //扩展
        //获取字典 所有的key
        NSArray *allKeysArr = [dict2 allKeys];
        NSArray *allValuesArr = [dict2 allValues];
        NSLog(@"%@",allKeysArr);
        NSLog(@"%@",allValuesArr);
        
        
        
    }
    return 0;
}


© 著作权归作者所有

共有 人打赏支持
粉丝 6
博文 59
码字总数 22758
作品 0
郑州
iOS开发之将XML转换成树II

前面一篇文章,很好将xml转换成树,并进行操作,但是忽略了对xml节点上属性的操作,现在让我来修改代码,将属性添加进来。 1、在treenode中加一个类型为NSDictionary的attributeDict用于存放...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

NSDictionary以及NSMutableDictionary的用法

1、NSDictionary (不可变字典) 字典的初始化 //一个key - value NSDictionary *dic1 = [NSDictionary dictionaryWithObject:@"@123" forKey:@"key1"]; //两个以上 key - value NSDictiona......

lady-奕奕 ⋅ 2013/11/20 ⋅ 0

IOS json转对象 /json 转 Object / ios json to Object / ios json convert Object

直奔主题:在ios平台做通用的json数据解析,直接将json格式字符串转化成 对应的Object类(比如:jsonUser 转 User对象)。 思路: 1. 获取服务器端的json数据,然后解析成NSDictionary对象(...

汗青man ⋅ 2014/02/13 ⋅ 0

NSDictionary和NSMutableDictionary的用法

做过Java语言 或者 C语言 开发的朋友应该很清楚 关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便。在Objective-C语言中 词典对象就...

今日竹石 ⋅ 2014/02/07 ⋅ 1

NSDictionary和NSMutableDictionary的用法

做过Java语言或者C语言开发的朋友应该很清楚 关键字map吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便。在Objective-C语言中 词典对象就是做...

今日竹石 ⋅ 2014/01/22 ⋅ 0

目前最细致清晰的NSDictionary以及NSMutableDictionary用法总结

做过Java语言 或者 C语言 开发的朋友应该很清楚 关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便。在Objective-C语言中 词典对象就...

zbser ⋅ 2014/04/27 ⋅ 0

Objective-C 语法之词典对象(NSDictionary/NSMutableDictionary)

做过Java语言 或者 C语言 开发的朋友应该很清楚 关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便。在Objective-C语言中 词典对象就...

鉴客 ⋅ 2011/10/04 ⋅ 1

Objective-C语法之词典对象的那些事儿(八)

Objective-C语法之词典对象的那些事儿 做过Java语言 或者 C语言 开发的朋友应该很清楚 关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常...

彭博 ⋅ 2012/03/09 ⋅ 0

MPMoviePlayerController的用法

MPMoviePlayerController的一些用法 delay框架手机 1.计算使用MPMoviePlayerController播放的视频的长度有两种方法: 第一种方法 NSDictionary opts = [NSDictionary dictionaryWithObject:[...

hanbing94 ⋅ 2015/08/31 ⋅ 0

JSONKit在项目中使用设置

在项目中经常会遇到解析json的情况,如果想要解析JSON,那么JSONKit可以是一个不错的选择。 git中JSONKit 的地址为:https://github.com/johnezang/JSONKit 由于项目已经很久没有更新,仍然使用...

chenkangyao ⋅ 2016/06/01 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java集合类总结笔记

一、集合类的层次关系 主要容器集合类的特点: ArrayList 一种可以动态增长和缩减的索引序列 LinkedList 一种可以在任何位置进行高效地插入和删除的有序序列 ArrayDeque 一种用循环数组实现的...

edwardGe ⋅ 9分钟前 ⋅ 0

spring RMI远程调用

RMI https://www.cnblogs.com/wdh1995/p/6792407.html

BobwithB ⋅ 14分钟前 ⋅ 0

Jenkins实践2 之基本配置

1 插件管理 系统管理->插件管理 在可选插件中可以自主安装插件 2 管理用户 系统管理->管理用户->新建用户 3 安全配置 系统管理->全局安全配置 授权策略 选择安全矩阵 然后添加现有的用户,赋...

晨猫 ⋅ 14分钟前 ⋅ 0

c++智能指针

1、是一种泛型类,针对指针类型的泛型类,会保存指针 2、重载了符号 *和-> 对智能指针使用这两个符号,相当于对保存的泛型使用这两个符号 3、当智能指针引用计数为0时,会去释放指针指向的资...

国仔饼 ⋅ 15分钟前 ⋅ 0

Spring Boot错误处理机制

1)、SpringBoot默认的错误处理机制 默认效果: 1)、浏览器,返回一个默认的错误页面 浏览器发送请求的请求头: 2)、如果是其他客户端,默认响应一个json数据 原理: 可以参照ErrorMvcAut...

小致dad ⋅ 17分钟前 ⋅ 0

ftp连接不上的终极办法 SFTP

假如FTP由于各种原因就是连不上,那么用SFTP协议吧,使用登录服务器的账号密码。

sskill ⋅ 21分钟前 ⋅ 0

Unity 围绕旋转角度限制(Transform.RotateAround)

在 Unity 中可以利用 Transform.RotateAround 围绕指定物体进行旋转,但某些情况下可能需要对旋转角度进行控制。我是先计算出预设角度大小,然后判断是否在限定角度范围内是则进行旋转。 相关...

大轩 ⋅ 22分钟前 ⋅ 0

阿里沙箱环境支付宝测试demo

阿里支付宝支付和微信支付,包括:阿里沙箱环境支付宝测试demo,支付宝支付整合到spring+springmvc+mybatis环境和微信整合到如上环境,功能非常齐全,只需要修改对应的配置文件即可,帮助文档...

码代码的小司机 ⋅ 25分钟前 ⋅ 0

JDK1.6和JDK1.7中,Collections.sort的区别,

背景 最近,项目正在集成测试阶段,项目在服务器上运行了一段时间,点击表格的列进行排序的时候,有的列排序正常,有的列在排序的时候,在后台会抛出如下异常,查询到不到数据,而且在另外一...

tsmyk0715 ⋅ 42分钟前 ⋅ 0

C++ 中命名空间的 5 个常见用法

相信小伙伴们对C++已经非常熟悉,但是对命名空间经常使用到的地方还不是很明白,这篇文章就针对命名空间这一块做了一个叙述。 命名空间在1995年被引入到 c++ 标准中,通常是这样定义的: 命名...

柳猫 ⋅ 46分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部