OC字典

原创 2015年11月18日 10:37:09
// 字典 是一个容器 跟数组一样 可以保存数据
// 保存的形式 是以 键值对的形式保存
// 一个key对应一个value
// key和value 必须是对象
// key作为钥匙 要具有唯一性 在开发中 一般使用字符串作为key值

// value 可以是一个很复杂的结构 例如字典里嵌套字典等
// 字典里保存的键值对 是无序的

// key value
// @"A" 对应 姓A的一个联系人
// @"A" 对应 保存姓A所有人的一个联系人
// @"A" 对应 一个字典 @"男" :保存姓A所有男人的一个数组
// @"女" :保存姓A所有女人的一个数组


// 不可变字典 切记不能对不可变字典进行增删

// 用两个数组 来初始化 一个不可变字典
// key的数组
// NSArray *keys = @[@"name",@"sex",@"age"];
// // value的数组
// NSArray *values = @[@"wanglong",@"nan",@"18"];

// 初始化数组
// NSDictionary *dic = [NSDictionary dictionaryWithObjects:values forKeys:keys];
// NSLog(@"%@",dic);

// -- 自定义初始化方法
// NSDictionary *dic1 = [[NSDictionary alloc]initWithObjects:values forKeys:keys];
// NSLog(@"%@",dic1);

// 初始化一个字典
// 使用该方法 切记 value : key 顺序
// ---便利构造器方法---
// NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:
// @"wanglong",@"name",
// @"nan",@"sex",
// @"18",@"age", nil];
// NSLog(@"%@",dic);
// // 把所有key取出来
// NSArray *keys = [dic allKeys];
// NSLog(@"%@",keys);
//
// // ---自定义初始化方法---
// NSDictionary *dic = [[NSDictionary alloc]initWithObjectsAndKeys:
// @"wanglong",@"name",
// @"nan",@"sex",
// @"18",@"age",nil];
// NSLog(@"%@",dic);

// // 取出所有value
// NSArray *values = [dic allValues];
// NSLog(@"%@",values);
// --- 语法糖方法 ---
// 初始化顺序 key : value
// NSDictionary *dic = @{@"name":@"wang",
// @"sex":@"nan",
// @"age":@"18"};
// NSLog(@"%@",dic);
//
// // -> 方法1: 根据key取出字典中对应的value
// NSString *value = [dic objectForKey:@"name"];
// NSLog(@"%@",value);
//
// // -> 方法2: 语法糖 取出字典中key对应的value
// NSString *age = dic[@"age"];
// NSLog(@"%@",age);
//
// // 获取字典的元素个数
// NSLog(@"%lu",[dic count]);
//

// 可变字典
// 初始化一个可变字典
// 切记: 必须进行初始化 才能使用字典
NSMutableDictionary *dic = [NSMutableDictionary dictionary];
//初始化的时候 给一个建议的容量
// NSMutableDictionary *dic1 = [[NSMutableDictionary alloc]initWithCapacity:10];
// NSMutableDictionary *dic2 = [[NSMutableDictionary alloc]init];

// 添加键值对
[dic setObject:@"wang" forKey:@"name"];
[dic setObject:@"nan" forKey:@"sex"];
[dic setObject:@"18" forKey:@"age"];

NSLog(@"%@",dic);

// 根据key删除键值对
[dic removeObjectForKey:@"sex"];
NSLog(@"%@",dic);

// 删除所有键值对
[dic removeAllObjects];
NSLog(@"%@",dic);

版权声明:本文为博主原创文章,未经博主允许不得转载。

OC教程07-字典NSDictionary详解

字典是我们常见的数据类型,在Java中对应的是HashMap * 字典:又称键值对,通过一个key可以访问他的值 * 分类:NSDictionary不可变字典...
  • yangbingbinga
  • yangbingbinga
  • 2015年06月04日 16:23
  • 1841

OC语言-字典与可变字典的定义及字典的嵌套

一、字典的定义 不可变字典 1.NSDictionary(不可变字典), NSMutableDictionary(可变字典)是由键-值对组成的数据集合。 2.通过key(键),查找对应value(值)...
  • zouxianm
  • zouxianm
  • 2015年07月27日 18:56
  • 2335

【OC学习-19】NSDictionary字典对象的初始化以及常用操作方法归纳

字典主要特征是一对一对的key和value组成,它的分类以及针对元素的操作和NSString以及NSArray的都差不多。重点在于了解一遍,具体做项目时再加深理解。...
  • wsb200514
  • wsb200514
  • 2014年09月05日 15:26
  • 3007

ObjectC----字典类和集合类以及快速枚举和OC中的数组排序

// Create By 郭仔  2015年04月01日20:06:36 // 不可变字典     // 字典是适用于存放键值对的一种集合,里面的元素必须是对象类型   ...
  • guoxianzhuang
  • guoxianzhuang
  • 2015年04月01日 20:06
  • 5691

OC数组和字典嵌套练习:省市区

将文件中的省市区读出来并放在数组和字典嵌套的数据结构中 有注释的版本: #import int main(int argc, const char * argv[]) { @autor...
  • Crow1108
  • Crow1108
  • 2015年08月22日 19:27
  • 1735

iOS中对字典进行排序

iOS中字典实际上是无序的,那么如果我们要对字典进行排序要怎么做呢? 代码如下: [objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片     @int...
  • u011032334
  • u011032334
  • 2015年03月12日 11:57
  • 3680

探讨OC中字典的存储方式

为什么要写这个文档? 我在重温OC的字典类型时,发现了setValue:把值设为nil之后字典中会自动删除这个关键字指向的键值对。于是,我突然有了一个想法,在字典中可以存在多个相同的变量值,但是关键字...
  • qq_25276029
  • qq_25276029
  • 2015年03月01日 23:04
  • 1794

Objective-C中把URL请求的参数转换为字典

原博客:http://www.cnblogs.com/ludashi/p/3907125.html 如何把URL请求中的参数封装成字典,然后再封装成数组呢?对OC中字符串操作熟练的小伙伴们应...
  • huanghaiyan_123
  • huanghaiyan_123
  • 2015年09月24日 11:13
  • 1249

OC的语法简写

简写      OC的语法一直被认为比较麻烦,绝大多数的消息发送都带有很长的函数名。其实这是一把双刃剑,好的方面,它使得代码相当容易阅读,因为几乎所有的方法都是以完整的英语进行描述的,而且如果遵...
  • xwren362922604
  • xwren362922604
  • 2013年02月21日 09:46
  • 7653

OC_字典(可变不可变都有^_^)

字典 NSDictionary1.概念字典是关键字'key'及其定义的值(value)所构成的集合,即它是由key-value组成的键值对的集合。 'key'一般是'NSString'类型的,‘v...
  • yourjjboom
  • yourjjboom
  • 2016年08月10日 22:04
  • 492
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OC字典
举报原因:
原因补充:

(最多只允许输入30个字)