// ********************不可变最字典*****************

/* NSDictionary * dic = [NSDictionary dictionaryWithObject:@"张三" forKey:@"name" ];

NSLog(@"%@", dic);//便利构造器创建字典

//字典里一个key只有一个vlaue, 但是一个value可以有好几个key

NSDictionary  * dic1 = [[NSDictionary alloc] initWithObjectsAndKeys:@"zhangsan", @"name", @"boy", @"sex", @"toyke", @"address", nil];//初始化创建字典

NSLog(@"%@", dic1);

NSArray * value = [[NSArray alloc] initWithObjects:@"张三", @"李四", @"王五", @"赵六", nil];

NSArray * key = [[NSArray alloc] initWithObjects:@"name3", @"name4", @"name5", @"name6", nil];

NSDictionary * nk = [[NSDictionary alloc] initWithObjects:value forKeys:key];//初始化+数组创建字典

NSLog(@"%@", nk);

NSLog(@"%lu", [nk count]);//获取键值对的个数

NSString * result = [nk objectForKey:@"name3"];//根据键来获得相对应的值

NSLog(@"%@", result);

NSString * re = [nk objectForKey:@"name6"];

NSString * re1 = [nk objectForKey:@"name4"];

NSString * re3 = [nk objectForKey:@"name5"];

NSLog(@"%@, %@, %@", re, re1, re3);

NSArray * cou = [nk allKeys];//获得所有的键

for (int i = 0; i < [cou count]; i++) {

NSString * key = [cou objectAtIndex:i];//获得数组中的键

NSString * value = [nk objectForKey:key];//用键来获得值

NSLog(@"%@", value);

}

NSArray * cou1 = [nk allKeys];

for (int i = 0; i < [cou1 count]; i++) {

NSLog(@"%@", [nk objectForKey:[cou objectAtIndex:i]]);

}

NSArray * values = [nk allValues];//获得所有的值存放在数组中

for (int i = 0; i < [values count]; i++) {

id c = [values objectAtIndex:i];

NSLog(@"%@", c);

}*/

// ********************可变最字典*****************

NSMutableDictionary * dict = [[NSMutableDictionary alloc] initWithCapacity:1];

[dict setObject:@"zhangsan" forKey:@"name"];

[dict setObject:@"boy" forKey:@"sex"];

[dict setObject:@"18" forKey:@"age"];

NSLog(@"%@", dict);

[dict setObject:@"paoniu" forKey:@"hobby"];

NSLog(@"%@", dict);

NSDictionary  * dic1 = [[NSDictionary alloc] initWithObjectsAndKeys:@"zhangsan1", @"name1", @"boy1", @"sex1", @"toyke1", @"address", nil];//初始化创建字典

[dict setValuesForKeysWithDictionary:dic1];

[dict removeObjectForKey:@"name1"];//移除键值为name1的值

NSNumber * num = [NSNumber numberWithInt:24];//用number把数字转成对象

[dict setObject:num forKey:@"age"];

NSNumber * score = [NSNumber numberWithFloat:88.8];

[dict setObject:score forKey:@"score"];

[dict setObject:[NSNumber numberWithDouble:999.999] forKey:@"fight"];

NSLog(@"%@", dict);

float sco = [[dict objectForKey:@"score"] floatValue];//把对象转成基本数据类型

NSLog(@"%g", sco);

OC中的字典的更多相关文章

  1. OC中的字典NSDictionary

    ========================== 字典 ========================== NSDictionary * dict = [[NSDictionary alloc] ...

  2. OC中NSDictionary(字典)、NSMutableDictionary(可变字典)、NSSet(集合)、NSMutableSet(可变集合)得常用方法

    字典用于保存具有映射关系数据的集合 一个key—value对认为是一个条目(entry),字典是存储key—value对的容器 与数组不同,字典靠key存取元素 key不能重复,value必须是对象 ...

  3. OC中如何把数组中字典的数据转换成URL?

    在使用objective-c语言开发iOS应用中,会向服务器通过URL请求一些数据,因此对URL的拼接肯定少不了.而在iOS中,我们一般是通过将字典中的数据拼接成我们要请求的URL字符串,那这个是怎么 ...

  4. OC中如何把字典中的数据拼接成url字符串

    在使用objective-c语言开发iOS应用中,会向服务器通过URL请求一些数据,因此对URL的拼接肯定少不了.而在iOS中,我们一般是通过将字典中的数据拼接成我们要请求的URL字符串,那这个是怎么 ...

  5. OC中runtime的使用

    一.runtime简介* RunTime简称运行时.OC就是“运行时机制”,也就是在运行时候的一些机制,其中最主要的是消息机制.* 对于C语言,“函数的调用在编译的时候会决定调用哪个函数”.* 对于O ...

  6. OC中intValue要注意的地方

    在程序中,发现一个问题,写了个例子,如下:         NSDictionary * dict = [[NSDictionary alloc] init];        NSString * s ...

  7. OC中文件的操作

    OC中文件操作,在之前的文章中,已经接触到了文件的创建了,但是那不是很具体和详细,这篇文章我们就来仔细看一下OC中是如何操作文件的: 第一.首先来看一下本身NSString类给我们提供了哪些可以操作文 ...

  8. OC中Foundation框架之NSDictionary、NSMutableDictionary

    NSDictionary概述 NSDictionary的作用类似:通过一个key ,就能找到对应的value 同样 NSDictionary是不可变的,一旦初始化完毕,里面的内容就无法修改 NSDic ...

  9. OC基础:数组.字典.集 分类: ios学习 OC 2015-06-18 18:58 47人阅读 评论(0) 收藏

    ==============NSArray(不可变数组)=========== NSArray,继承自NSObject  用来管理(储存)一些有序的对象,不可变数组. 创建一个空数组 NSArray ...

随机推荐

  1. Python 迭代器 & __iter__方法

    转载来自: http://blog.csdn.net/bluebird_237/article/details/38894617 迭代器就是重复地做一些事情,可以简单的理解为循环,在python中实现 ...

  2. PAT A 1115. Counting Nodes in a BST (30)【二叉排序树】

    题目:二叉排序树,统计最后两层节点个数 思路:数组格式存储,insert建树,dfs遍历 #include<cstdio> #include<iostream> #includ ...

  3. 各种解析漏洞获取Webshell

    各种解析漏洞拿shell  一.IIS 6.0解析漏洞 IIS 6.0解析利用方法有两种1.目录解析/xx.asp/xx.jpg2.文件解析wooyun.asp;.jpg第一种,在网站下建立文件夹的名 ...

  4. wordpress电子商务插件和主题的使用方法

    前提步骤:卸载wordpress干净,需要把相应的数据库删除:drop databade **: (1)先改wordpress中重要文件的权限:777 (2)用usradd -d www /html命 ...

  5. VS2010 有关测试的一些使用

    Visual Studio 2010 单元测试之一---普通单元测试:http://blog.csdn.net/tjvictor/archive/2011/02/09/6175362.aspx   V ...

  6. 近半年MVC使用后的一些习惯

    半年前接新项目, 来了一个前端, 由于只有我前后台都会, 就做业务层+辅助前端显示, 于是我决定使用MVC 上面那句无关紧要的话让我改了好多遍, 转载请注明出处: http://www.cnblogs ...

  7. CodeForces 279D The Minimum Number of Variables 题解

    题目大意: 有一组n个不相同的数字组成数串:a1,a2,a3-an. 1.一个数组b. 2.第一个操作我们将b0的值赋为a1.之后我们有n-1个操作,第k次操作我们将by=bi+bj(y,i,j可能相 ...

  8. 【CodeVS2800】 送外卖 最短路+状压DP

    首先求出各点之间的最短路,floyed即可,注意是0-n. 然后考虑状压,f[i][j]表示状态为i时访问j点时的最短路和,1表示访问,0表示未访问,然后第j个点所在的位置就是(1<<j) ...

  9. Daily Scrum02 12.08

    编译大作业的第一次检查终于过去了,已经经过这次检查的组员们可以暂时松一口气了. 也希望编译大作业有着落的成员可以多花一些时间在团队任务上,帮其他的组员多分担一些工作. 第一次没来的及检查的同学,或是没 ...

  10. 不安装Oracle客户端使用PLSQL连接Oracle数据库的方法

    1,下载PL\SQL http://dl8.cr173.com/soft1/PLSQLDeveloper10_ha.zip(这个是我下载的,带破解和汉化); 2,下载完后傻瓜式安装 ,这里说下,1是P ...