OC 字典

原创 2016年08月29日 18:41:19

字典分为不可变字典(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];





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

相关文章推荐

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个字)