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]; } |
火柴人绳索英雄2无限金币版 (Stickman Rope Hero 2)安卓版v2.2v3.4.2
下载奥特曼之格斗超人内测版本 安卓最新版v11.0.0
下载奥特曼之格斗超人百度版 安卓版v11.0.0
下载奥特曼之格斗超人4399游戏盒版 最新安卓版v11.0.0
下载德凯奥特曼D闪光剑模拟器 安卓版v1.0
德凯奥特曼D闪光剑模拟器是一个非常有趣的奥特曼变身模拟器,可
亚刻觉醒器 安卓版v1.1
亚刻觉醒器模拟器是一个非常有趣的奥特曼变身模拟器,为喜欢亚刻
海上餐厅无限金币版 v1.0
海上餐厅免广告版是游戏的破解版本,在该版本中为玩家去除了广告
阿西美女室友竟然全解锁版 v1.0.2
阿西美女室友竟然内置菜单版是游戏的破解版本,在该版本中为玩家
我是大东家正版 最新版v1.2.738
我是大东家正版是一款放置类模拟经营手游,玩家将回到古代成为家