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中字典的主要内容

  • 2015-11-28 14:30
  • 14KB
  • 下载

OC 面向对象里字典和集合的常用用法

首先说几个OC里快速生成对象的几个方法(即语法糖): (1) @ + 数字  即快速将基本数据类型转换为NSNumber类型的对象,如:@20, (@后面直接跟了一个确切的数字) 如果是一个变量即 ...

探讨OC中字典的存储方式

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

OC教程07-字典NSDictionary详解

字典是我们常见的数据类型,在Java中对应的是HashMap * 字典:又称键值对,通过一个key可以访问他的值 * 分类:NSDictionary不可变字典...

oc基础之数组与字典(六)

例10、NSArray、NSDctionary、NSMutableArray、NSMutableDctionary的基本使用

OC基础:数组.字典.集

=======================================NSArray(不可变数组)========================================== NSAr...

OC字典中添加相同key值需要注意的问题

OC字典中添加相同key值需要注意的问题

OC数组字典类型的遍历

遍历这个问题,相信每个开发者都是会遇到的问题,OC数组字典遍历用啥,for循环?是不是有点low?其实OC给出了遍历的方法,下面来说一下。1、首先说一下数组Array的遍历在NSArray的头文件中,...

OC字典(NSDictionary)和集合(NSSet)的总结

本文主要是描述OC中的字典和集合的基本应用.主要包括可变字典和不可字典的创建和便利,对可变字典里的元素增删改,字典和数组直接的嵌套使用,最后是集合的创建和集合与数组的配合使用
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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