OC中的字典
// ********************不可变最字典*****************
/* 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中的字典的更多相关文章
- OC中的字典NSDictionary
========================== 字典 ========================== NSDictionary * dict = [[NSDictionary alloc] ...
- OC中NSDictionary(字典)、NSMutableDictionary(可变字典)、NSSet(集合)、NSMutableSet(可变集合)得常用方法
字典用于保存具有映射关系数据的集合 一个key—value对认为是一个条目(entry),字典是存储key—value对的容器 与数组不同,字典靠key存取元素 key不能重复,value必须是对象 ...
- OC中如何把数组中字典的数据转换成URL?
在使用objective-c语言开发iOS应用中,会向服务器通过URL请求一些数据,因此对URL的拼接肯定少不了.而在iOS中,我们一般是通过将字典中的数据拼接成我们要请求的URL字符串,那这个是怎么 ...
- OC中如何把字典中的数据拼接成url字符串
在使用objective-c语言开发iOS应用中,会向服务器通过URL请求一些数据,因此对URL的拼接肯定少不了.而在iOS中,我们一般是通过将字典中的数据拼接成我们要请求的URL字符串,那这个是怎么 ...
- OC中runtime的使用
一.runtime简介* RunTime简称运行时.OC就是“运行时机制”,也就是在运行时候的一些机制,其中最主要的是消息机制.* 对于C语言,“函数的调用在编译的时候会决定调用哪个函数”.* 对于O ...
- OC中intValue要注意的地方
在程序中,发现一个问题,写了个例子,如下: NSDictionary * dict = [[NSDictionary alloc] init]; NSString * s ...
- OC中文件的操作
OC中文件操作,在之前的文章中,已经接触到了文件的创建了,但是那不是很具体和详细,这篇文章我们就来仔细看一下OC中是如何操作文件的: 第一.首先来看一下本身NSString类给我们提供了哪些可以操作文 ...
- OC中Foundation框架之NSDictionary、NSMutableDictionary
NSDictionary概述 NSDictionary的作用类似:通过一个key ,就能找到对应的value 同样 NSDictionary是不可变的,一旦初始化完毕,里面的内容就无法修改 NSDic ...
- OC基础:数组.字典.集 分类: ios学习 OC 2015-06-18 18:58 47人阅读 评论(0) 收藏
==============NSArray(不可变数组)=========== NSArray,继承自NSObject 用来管理(储存)一些有序的对象,不可变数组. 创建一个空数组 NSArray ...
随机推荐
- Webstorm配置CSS/SCSS自动补全兼容前缀autoprefixer插件
关于Autoprefixer Autoprefixer是一个后处理程序,不象Sass以及Stylus之类的预处理器.它适用于普通的CSS,可以实现css3代码自动补全.也可以轻松跟Sass,LESS及 ...
- 《BuildingMachineLearningSystemsWithPython》学习笔记
BuildingMachineLearningSystemsWithPython Python机器学习入门 数据分析五个步骤 读取和清洗数据 探索和理解输入数据[我的理解是业务理解] 分析如何将算法应 ...
- [BI项目记]-DB脚本同步
BI项目中会有很多不同种类的项目,其中比较比较大的一部分就是对DB脚本的处理.然而DB的脚本毕竟无法在项目中进行维护,所以这里介绍如何对DB的脚本进行版本上的维护. 数据库脚本本身没有项目模板支持,很 ...
- UVA 11645 Bits(组合数学)
从左往右处理,左半部分记为left, 右半部分记为right,若i,i -1均为1, 贡献为ans += (left + 1) + right * (1ll << (i - 1)); 否则 ...
- ENode 1.0 - Saga的思想与实现
开源地址:https://github.com/tangxuehua/enode 因为enode框架的思想是,一次修改只能新建或修改一个聚合根:那么,如果一个用户请求要涉及多个聚合根的新建或修改该怎么 ...
- iOS- 制作U盘安装Mac OS X 系统
需要: 1.下载Yomitate.app or Capitan.app 跳转到官网或者第三方. 2.准备一台Mac 电脑 3.准备一个8G U盘. 安装: 步骤1.将Yomitate.app 拖到应用 ...
- k-means聚类算法python实现
K-means聚类算法 算法优缺点: 优点:容易实现缺点:可能收敛到局部最小值,在大规模数据集上收敛较慢使用数据类型:数值型数据 算法思想 k-means算法实际上就是通过计算不同样本间的距离来判断他 ...
- Hibernate的检索方式
Hibernate的检索方式 检索方式(查询的方式) 导航对象图检索方式: 根据已经加载的对象导航到其他对象 Customer customer = (Customer)session.get(Cus ...
- Codeforces Round #354 (Div. 2)
贪心 A Nicholas and Permutation #include <bits/stdc++.h> typedef long long ll; const int N = 1e5 ...
- 2016-2017 ACM-ICPC, NEERC, Moscow Subregional Contest
A. Altitude 从小到大加入每个数,用set查找前驱和后继即可. 时间复杂度$O(n\log n)$. #include <bits/stdc++.h> using namespa ...