OC 第七天 字典 lesson7

NSDictionary 常用方法

NSDictionary用于保存具有映射关系的数据,因此,NSDictionary集合里保存着两组值:

一组用于保存NSDictionary里的key

另一组用于保存NSDictionary里的value

其中key与value都可以是任何引用类型的数据,key与value之间存在单向一对一的关系。(key不允许重复)

1.创建字典对象;

        NSDictionary * dicYaoGe = [NSDictionary dictionaryWithObjectsAndKeys:@"瑶哥", @"name",
                                   @"?", @"sex",
                                   @"18", @"age",
                                   @"105", @"weight",
                                   nil];
        NSLog(@"%@",dicYaoGe);

注意:此处写法比较反人类,value在前,key在后。

运行结果:

2014-09-19 20:47:06.329 oc07_字典[6837:303] {

age = 18;

name = "\U7476\U54e5";

sex = "?";

weight = 105;

}

2.获取所有key值

        NSLog(@"%@", [dicYaoGe allKeys]);

运行结果:

2014-09-19 20:47:06.473 oc07_字典[6837:303] (

age,

sex,

weight,

name

)

3.获取所有value值

 NSLog(@"%@", [dicYaoGe allValues]);

运行结果:

2014-09-19 20:47:06.474 oc07_字典[6837:303] (

18,

"?",

105,

"\U7476\U54e5"

)

4.通过key值查询value

<span style="white-space:pre">	</span>NSLog(@"%@",[dicYaoGe objectForKey:@"weight"]);

运行结果:

2014-09-19 20:47:06.474 oc07_字典[6837:303] 105

快速遍历方法:

        for (NSString *key in dicYaoGe) {
            NSLog(@"%@ - %@",key ,[dicYaoGe objectForKey:key]);
        }

运行结果:

2014-09-19 20:47:06.475 oc07_字典[6837:303] age - 18

2014-09-19 20:47:06.476 oc07_字典[6837:303] sex - ?

2014-09-19 20:47:06.476 oc07_字典[6837:303] weight - 105

2014-09-19 20:47:06.477 oc07_字典[6837:303] name -
瑶哥

NSMutableDictionary
常用方法

            NSMutableDictionary *dicZijie = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                             @"王子杰",@"name",
                                             @"难以判断",@"sex",
                                             @"七老八十",@"age",
                                             @"200",@"weight",nil];
            for (NSString *key in dicZijie) {
                NSLog(@"%@-%@",key , [dicZijie objectForKey:key]);
            }

运行结果:

2014-09-19 20:57:55.310 oc07_字典[6858:303] age--七老八十

2014-09-19 20:57:55.311 oc07_字典[6858:303] hoby--男

2014-09-19 20:57:55.311 oc07_字典[6858:303] weight--200

2014-09-19 20:57:55.312 oc07_字典[6858:303] name--王子杰

1.添加键值对。

<span style="white-space:pre">	</span>[dicZijie setValue:@"LOL" forKey:@"hoby"];

2.修改key对应的value

<span style="white-space:pre">	</span>[dicZijie setValue:@"男" forKey:@"hoby"];

3.删除键值对。

<span style="white-space:pre">	</span>[dicZijie removeObjectForKey:@"sex"];

4.通过for循环遍历所有键值对

<span style="white-space:pre">	</span>for (NSString *key in dicZijie) {
                NSLog(@"%@-%@",key , [dicZijie objectForKey:key]);
            }

运行结果:

2014-09-19 21:00:49.198 oc07_字典[6872:303] age-七老八十

2014-09-19 21:00:49.199 oc07_字典[6872:303] hoby-男

2014-09-19 21:00:49.199 oc07_字典[6872:303] weight-200

2014-09-19 21:00:49.200 oc07_字典[6872:303] name-王子杰

对于一个数组中字典的遍历:

  <span style="white-space:pre">	</span>NSDictionary *dicDaGe = [NSDictionary dictionaryWithObjectsAndKeys:@"大哥", @"name",
                                 @"卖药", @"hoby",
                                 @"男", @"sex",nil];
        NSMutableArray *tongJi = [NSMutableArray arrayWithObjects:dicZijie,dicYaoGe,dicDaGe, nil];

        for (NSDictionary *dic in tongJi) {
            NSLog(@"______________");
            for (NSString *key in dic) {
                NSLog(@"%@--%@",key,[dic objectForKey:key]);
            }
        }

运行结果:

2014-09-19 21:00:49.201 oc07_字典[6872:303] ______________

2014-09-19 21:00:49.201 oc07_字典[6872:303] age--七老八十

2014-09-19 21:00:49.201 oc07_字典[6872:303] hoby--男

2014-09-19 21:00:49.202 oc07_字典[6872:303] weight--200

2014-09-19 21:00:49.202 oc07_字典[6872:303] name--王子杰

2014-09-19 21:00:49.203 oc07_字典[6872:303] ______________

2014-09-19 21:00:49.203 oc07_字典[6872:303] age--18

2014-09-19 21:00:49.204 oc07_字典[6872:303] sex--?

2014-09-19 21:00:49.204 oc07_字典[6872:303] weight--105

2014-09-19 21:00:49.205 oc07_字典[6872:303] name--瑶哥

2014-09-19 21:00:49.205 oc07_字典[6872:303] ______________

2014-09-19 21:00:49.206 oc07_字典[6872:303] name--大哥

2014-09-19 21:00:49.206 oc07_字典[6872:303] hoby--卖药

2014-09-19 21:00:49.207 oc07_字典[6872:303] sex--男

时间: 2024-09-29 08:26:51

OC 第七天 字典 lesson7的相关文章

OC 第七天 容器类 lesson7

NSArray 常用方法 1.创建数组对象,使用初始化方法或便利构造器. <span style="font-size:18px;"> NSArray *arr1 = [[NSArray alloc]initWithObjects:@"王晨",@"刘国伟",@"郑海坤",nil]; NSArray *arr2 = [NSArray arrayWithObjects:@"李智",@"魏大

OC 第七天 集合 lesson7

NSSet 常用方法 集合类似一个罐子,一旦把对象"丢进"NSSet集合,集合里多个对象之间没有明显的顺序. NSSet按Hash算法来存储集合中的元素,因此有很好的存取和查找性能. 1.创建集合对象. <span style="font-size:18px;"> NSSet *nanShen = [NSSet setWithObjects:@"曹大哥", @"david", @"洁哥", @&

iOS开发——高级技术精选OC篇&amp;Runtime之字典转模型实战

Runtime之字典转模型实战 如果您还不知道什么是runtime,那么请先看看这几篇文章: http://www.cnblogs.com/iCocos/p/4734687.html http://www.cnblogs.com/iCocos/p/4676679.html http://www.cnblogs.com/iCocos/p/4725527.html 关于runtime的详细介绍及其相关的小实例 好了,这里就不多废话了,直接开干! 先来看看怎么使用Runtime给模型类赋值 iOS开发

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

字典用于保存具有映射关系数据的集合 一个key—value对认为是一个条目(entry),字典是存储key—value对的容器 与数组不同,字典靠key存取元素 key不能重复,value必须是对象 键值对在字典中是无序存储的 字典分:不可变字典(NSDictionary)和可变字典(NSMutableDictionary) 不可变字典一旦创建,键值对就不可更改,不可添加,不可删除,仅能读取key或者value 常用方法有: 1.创建字典对象 2.获取所有key值,获取所有value值 3.通过

OC基本框架之-字典类型

分类:NSDictionary(不可变数据字典)和NSMutableDictionary(可变数据字典) 组成: (1)由键-值(Key-Value)对组成的数据集合 ?(2)任何对象(id类型)都可以作键,但一般是字符串 ?(3)字典内元素无序排列,键相同的的元素不能重复 ?(4)可以通过键来快速枚举 一.不可变数据字典 (1)字典的创建和初始化 1 //1.用一个或多个键值对初始化一个字典对象: 以值,建,值,键,...,nil的顺序 2 NSDictionary *dict01=[[NSD

oc随笔六:字典

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //NSDictionary字典对象,字典主要特征是一对一的key和value组成 //不可变字典 //初始化字典,一半key值是字符串对象,控制用NSNull对象表示 NSDictionary *dic1 = [NSDictionary dictionaryWithObject:@"velue1

OC第七天笔记2016年03月22日(周二)A.M

1. 可变字符串 NSMutableString* mstr = [[NSMutableString alloc] initWithCapacity:10]; 增 删 改 替换 //[mstr length] [mstr insertString:@"http://" atIndex:0]; //第一个参数:即将要插入的字符串 //第二个参数:插入的位置(下标) NSLog(@"%@",mstr); //http://www.baidu.com [mstr inse

python核心编程 第七章 字典,集合 练习

#encoding=utf-8import random#dict.update(dict2)a 将字典 dict2 的键-值对添加到字典 dict# 7–1. 字典方法.哪个字典方法可以用来把两个字典合并到一起?dict1 = {1:'w',2:'y'}dict2 = {3:'t'}dict1.update(dict2)print dict1 # 7–2. 字典的键.我们知道字典的值可以是任意的 Python 对象,那字典的键又如何呢?请试# 着将除数字和字符串以外的其他不同类型的对象作为字典

OC第七节——内存管理

戏言: iOS开发已经到了一个ARC时代,一般不需要我们过多的去关注内存是怎么分配,怎么管理的.很长一段时间,我也不知道内存管理是什么鬼,但如果遇到这方面的问题,却找不到解决办法确实很头疼的.So,还是静下心来,好好学习吧,毕竟内功才是体现水平. 1. 引用计数            对于一块动态申请的内存,有一个人(指针)使用,就给这个内存的计数器加1,使用完成后,就给这个计数器减1,当这个内存的引用计数为0了,我们再释放他,这样,上面的问题就解决了.OC,就是使用引用计数这种方式来管理内存的