IOS Intro - NSDictionary and NSMutableDictionary
NSDictionary、NSMutableDictionary的基本用法
1.不可变词典NSDictionary
字典初始化
NSNumber *numObj = [NSNumber numberWithInt:100];
以一个元素初始化
NSDictionary *dic = [NSDictionary dictionaryWithObject:numObj forKey:@"key"];
初始化两个元素
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:numObj, @"valueKey", numObj2, @"value2",nil];
初始化新字典,新字典包含otherDic
NSDictionary *dic = [NSDictionary dictionaryWithDictionary:otherDic];
以文件内容初始化字典
NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:path];
常用方法
获取字典数量
NSInteger count = [dic count];
通过key获取对应的value对象
NSObject *valueObj = [dic objectForKey:@"key"];
将字典的key转成枚举对象,用于遍历
NSEnumerator *enumerator = [dic keyEnumerator];
获取所有键的集合
NSArray *keys = [dic allKeys];
获取所有值的集合
NSArray *values = [dic allValues];
2.可变数组NSMutableDictionary
初始化一个空的可变字典
NSMutableDictionary *dic2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"v1",@"key1",@"v2",@"key2",nil];
NSDictionary *dic3 = [NSDictionary dictionaryWithObject:@"v3" forKey:@"key3"];
向字典2对象中添加整个字典对象3
[dic2 addEntriesFromDictionary:dic3];
向字典2对象中最佳一个新的key3和value3
[dic2 setValue:@"value3" forKey:@"key3"];
初始化一个空的可变字典
NSMutableDictionary *dic1 = [NSMutableDictionary dictionary];
将空字典1对象内容设置与字典2对象相同
[dic1 setDictionary:dic2];
将字典中key1对应的值删除
[dic1 removeObjectForKey@"key1"];
NSArray *array = [NSArray arrayWithObjects:@"key1", nil];
根据指定的数组(key)移除字典1的内容
[dic2 removeObjectsForKeys:array];
移除字典所有对象
[dic1 removeAllObjects];
遍历字典
快速枚举
for (id key in dic){
id obj = [dic objectForKey:key];
NSLog(@"%@", obj);
}
一般枚举
NSArray *keys = [dic allKeys];
inr length = [keys count];
for (int i = 0; i < length;i++){
id key = [keys objectAtIndex:i];
id obj = [dic objectForKey:key];
NSLog(@"%@", obj);
}
通过枚举类型枚举
NSEnumerator *enumerator = [dic keyEnumerator];
id key = [enumerator nextObject];
while (key) {
id obj = [dic objectForKey:key];
NSLog(@"%@", obj);
key = [enumerator nextObject];
}
IOS Intro - NSDictionary and NSMutableDictionary的更多相关文章
- IOS字典NSDictionary与NSMutableDictionary知识点
		字典中的元素是以键值对的形式存储的,键值对的键和值,都是任意的对象,但是键往往使用字符串,字典存储对象的地址没有顺序,字典的遍历分为:键的遍历和值的遍历,字典与数组的区别:数组讲究顺序,而字典可以快速 ... 
- iOS常用 --- NSDictionary 与 NSMutableDictionary
		一.NSDictionary 字典的两种创建方法 NSDictionary *dic1 =[[NSDictionary alloc]init]; 2 // 或: 3 NSDictionary *dic ... 
- 字典NSDictionary以及NSMutableDictionary的用法总结
		做过Java语言 或者 C语言 开发的朋友应该很清楚 关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便.在Objective-C语言中 词典 ... 
- 黑马程序员-NSDictionary和NSMutableDictionary
		NSDictionary和NSMutableDictionary:通过key和value进行对应,进行存储元素,能够方便提取所需的元素.key是不能够重复出现,但是value能够重复出现.NSDict ... 
- 词典对象 NSDictionary与NSMutableDictionary
		做过Java语言或者 C语言开发的朋友应该很清楚关键字map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过KEY就可以直接拿到对应的值,非常方便,是一种非常常用的数据结构.在Objecti ... 
- NSDictionary、NSMutableDictionary的基本用法
		NSDictionary.NSMutableDictionary的基本用法 1.不可变词典NSDictionary 字典初始化 NSNumber *numObj = [NSNumber numberW ... 
- (转载)目前最细致清晰的NSDictionary以及NSMutableDictionary用法总结
		文章转载自:http://www.cnblogs.com/wengzilin/archive/2012/03/15/2397712.html 做过Java语言 或者 C语言 开发的朋友应该很清楚 关键 ... 
- 【转】目前最细致清晰的NSDictionary以及NSMutableDictionary用法总结 -- 不错
		原文网址:http://www.cnblogs.com/wengzilin/archive/2012/03/15/2397712.html 做过Java语言 或者 C语言 开发的朋友应该很清楚 关键字 ... 
- Objective-C语法之NSDictionary和NSMutableDictionary
		Java 有Map,可以把数据以键值对的形式储存起来,取值的时候通过key就可以直接拿到对应的值,方便快捷.在Objective-C语言中,词典就是做这样的事情的,和NSArray一样,一个词典对象也 ... 
随机推荐
- LeetCode第35题:搜索插入位置
			题目描述: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6 ... 
- Mysql--基本配置
			登录的常用参数 mysql -uroot -p 之后再加上密码 mysql -uroot -p+密码 这个方法不安全 mysql -hlocalhost -uroot -p 之后再加上密码 ... 
- 多线程学习-基础( 十一)synchronized关键字修饰方法的简单案例
			一.本案例设计到的知识点 (1)Object的notify(),notifyAll(),wait()等方法 (2)Thread的sleep(),interrupt(). (3)如何终止线程. (4)如 ... 
- Git相关安装包打包下载
			Git相关软件偶尔需要***才能下载,故分享于此 1.Git-2.15.0-64-bit.exe 2.TortoiseGit-2.5.0.0-64bit.msi 3.TortoiseGit-Langu ... 
- SGML DTD
			最近处理SGML文档时,碰到的DTD语法: <!ELEMENT name - - (#PCDATA)> 说明:- - 代表 name 元素有开始标识和结束标识 <!ELEMENT ... 
- UWP&WP8.1 基础控件——Image
			Image是UWP和WP8.1中系统自带的图片展示器. 具有较强的性能,使用也是非常的简单. 使用方式分为在XAML中,在C#代码中. XAML中: 在XAML中使用方式非常简单. 常用XAML So ... 
- 我的iphone不能被虚拟机识别怎么办
			我的iphone不能被虚拟机识别怎么办 听语音 | 浏览:3890 | 更新:2015-11-04 15:28 | 标签:iphone vmware ios 1 2 3 4 5 6 分步阅读 特大喜讯 ... 
- Java框架之搭建环境maven报错
			*maven Dependencies 中的地址通过POM 才会增加 正确是 1. m2所在位置 遇到的问题: java.lang.ClassNotFoundException: org.spring ... 
- asp如何让panel居中
			把panel放在一个table的td中,并把position设为relative,就可以在设计中直接调整它的位置了 
- 【以太坊开发】区块链中的预言机:Oraclize原理介绍
			智能合约的作用很多,但是很多数据还是要基于互联网,那么如何在合约中获取互联网中的数据?Oraclize就是为了这个目的而诞生的. 工作原理: 智能合约通过对Oraclize发布一个合约之间的调用请求来 ... 
