关闭

OC 字典

标签: OC字典
56人阅读 评论(0) 收藏 举报
分类:

字典分为不可变字典(NSDictionary)和可变字典(NSMutableDictionary),其中NSMutableDictionary继承于NSDictionary


    1.字典是由关键字“key”及其定义的值(value)所构成的集合,即它是由key-value组成的键值对的集合。“key”一般是字符串类型 “value”是OC中任意对象。对于字典来讲,我们就是通过key来访问value
    2.数组和字典。在有大量的数据或者频繁的查找的时候,使用字典效率更高。因为字典采用键查询的优化存储方式。
    3.字典里面存放的元素都要是对象类型才行。如果是基本数据类型,要先把基本数据类型进行封装,然后在存放到这些集合中去
    4.在字典中键值对是无序的

下面是字典中常用的方法

1.创建一个只有一个键值对的字典
NSDictionary *dictionary1 = [NSDictionary dictionaryWithObject:@"Rick" forKey:@"name"];

2.创建一个带有多个键值对的字典
NSDictionary *dictionary2 = [NSDictionary dictionaryWithObjectsAndKeys:@"阿萨德",@"name",@25,@"age",@"GZ",@"address", nil];

3.通过一个已存在的字典来创建一个字典
NSDictionary *dictionary3 = [NSDictionary dictionaryWithDictionary:dictionary2];

4.快捷方法创建有多个键值对的字典
NSDictionary *dictionary4 = @{@"name":@"Rick",@"age":@25,@"address":@"GZ"};

5.从本地文件中获取字典
NSDictionary *dictionary5 = [NSDictionary dictionaryWithContentsOfFile:@"/Users/ibokan2/Desktop/ooo.png"];

6.从网络上获取字典
NSDictionary *dictionary6 = [NSDictionary dictionaryWithContentsOfURL:[NSURL URLWithString:@"http://www.baidu.com"]];

7.获取字典中键值对的数量
NSUInteger count = [dictionary4 count];

8.通过key访问字典中对应的值
NSString *name = [dictionary4 objectForKey:@"name"];
或者
NSString *name1 = dictionary4 [@"name"]; 

9.查看字典中所有的key
NSArray *keyArray = dictionary4.allKeys;
NSLog(@"%@",keyArray);

10.查看字典中所有的value
NSArray *valueArray = dictionary4.allValues;
NSLog(@"%@",valueArray);

11.使用for循环遍历字典
    for(int i = 0; i <dictionary4.count; i++)
    {
        NSLog(@"%@ = %@",dictionary4.allKeys[i],dictionary4.allValues[i]);
    }

12. 使用for in遍历字典
NSArray *keyArray =  dictionary4.allKeys;
for (NSString *key in keyArray) {
    NSLog(@"%@ = %@",key,dictionary4[key]);
     }

下面是可变字典独有的方法
1.增加键值对
NSMutableDictionary *mDictionary1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Rick",@"name",@25,@"age", nil];
[mDictionary1 setValue:@"Rick" forKey:@"name"];

2.修改键值对
[mDictionary1 setValue:@"Jack" forKey:@"name"];  //其实就是覆盖

3.删除指定key的对象
[mDictionary1 removeObjectForKey:@"name"];

4.删除所有对象
[mDictionary1 removeAllObjects];





0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:511次
    • 积分:75
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档