最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
NSDictionary、NSMutableDictionary的基本用法
时间:2022-06-25 23:35:36 编辑:袖梨 来源:一聚教程网
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]; } |
相关文章
- 王者荣耀侦探能力大测试攻略 王者荣耀侦探能力大测试怎么过 11-22
- 无期迷途主线前瞻兑换码是什么 11-22
- 原神欧洛伦怎么培养 11-22
- 炉石传说网易云音乐联动怎么玩 11-22
- 永劫无间手游确幸转盘怎么样 11-22
- 无期迷途主线前瞻兑换码是什么 无期迷途主线前瞻直播兑换码介绍 11-22