1.什么是字典
字典是一种保存键值对(key - value)的容器。
注意:一个 key 对应一个 value(实体),而一个 value 可以对应多个 key
2.创建字典对象
字典的输入格式——值左键右
//类方法
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"a", @"name", @"ab", @"sex", @"ac", @"address", nil];
NSLog(@"%@", dictionary);
//对象方法
NSDictionary *dictionary1 = [[NSDictionary alloc] initWithObjectsAndKeys:@"b", @"name", @"bc", @"sex", @"bd", @"address", nil];
NSLog(@"%@", dictionary1);
//创建空的字典
NSDictionary *dictionary2 = [NSDictionary dictionary];
3.获取所有key值
NSLog(@"%@", dictionary.allKeys);
4.获取所有value值
NSLog(@"%@", dictionary.allValues);
5.根据key查value
NSLog(@"%@", [dictionary objectForKey:@"name"]);
// 根据值查询所有键
NSLog(@"%@", [dictionary allKeysForObject:@"a"]);
6.间接遍历字典
根据allkeys数组获取字典中所有的key-value对
for (NSString *key in dictionary.allKeys) {
NSLog(@"%@", [dictionary objectForKey:key]);
}
7.NSMutableDictionary
//初始化
NSMutableDictionary *mubDic = [NSMutableDictionary dictionary];
NSMutableDictionary *mubDic1 = [NSMutableDictionary dictionary];
8.添加键值对
[mubDic setObject:@"a" forKey:@"ad"];
[mubDic setObject:@"b" forKey:@"be"];
[mubDic1 setObject:@"a" forKey:@"ad"];
[mubDic1 setObject:@"b" forKey:@"be"];
NSLog(@"%@", mubDic);
9.修改key对应的value
本质上为重新赋值
[mubDic setObject:@"b" forKey:@"ad"];
[mubDic setObject:@"a" forKey:@"be"];
NSLog(@"%@", mubDic);
10.删除键值对
//删除对应 key 的 value
[mubDic removeObjectForKey:@"be"];
NSLog(@"%@", mubDic);
//根据 key 的数组删除对应 value
[mubDic1 removeObjectsForKeys:mubDic1.allKeys];
//删除所有
[mubDic removeAllObjects];
NSLog(@"%@", mubDic);
NSLog(@"%@", mubDic1);