NSDictionary

创建

单个创建

这里写图片描述

NSDictionary *dict = [NSDictionary dictionaryWithObjects:(NSArray *) forKeys:(NSArray<id<NSCopying>> *)];
多个创建

这里写图片描述

NSDictionary *dict = [NSDictionary dictionaryWithObjects:(NSArray *) forKeys:(NSArray<id<NSCopying>> *)];
快速创建和获取
//创建:键:值,多个创建用逗号隔开
//NSDictionary *dict = @{key:value};
NSDictionary *dict = @{@"name":@"帅逼",@"":@""};
//获取:和C语言数组相似,引号中是键
dict[@"key"];

字典遍历

获取字典key和value的个数(key成为键,value称为值)
//获取键值对个数
[dict count];
使用forin遍历
NSDictionary *dict = @{@"name1":@"帅",@"name2":@"丑"};
for (NSString *key in dict) {
    NSString *value = dict[key];
    NSLog(@"key = %@, value = %@",key, value);
}
迭代器遍历

这里写图片描述
这里写图片描述

[dict enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {
    NSLog(@"key = %@, value = %@", key, obj);
}];

文件读写

[dict writeToFile:@"/Users/y1shichanganluan/Desktop/info.plist" atomically:YES];

这里写图片描述

NSDictionary *newdict = [NSDictionary dictionaryWithContentsOfFile:@"/Users/y1shichanganluan/Desktop/info.plist"];
//字典保存的数据是无序的
[newdict enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {
    NSLog(@"key = %@, value = %@", key, obj);
}];

注意打印字典和数组并不能直接打印中文,需要重写description方法,使用可变字符串拼接,然后打印


NSMutableDictionary

创建
//空的可修改字典
NSMutableDictionary *dicM = [NSMutableDictionary dictionary];
添加
//增加单个
[dictM setObject:@"" forKey:@""];
//简写
dictM[@"key"] = @"vlaue";
//将一个字典添加进该字典
[dictM setValuesForKeysWithDictionary:@{@"":@"", @"":@""}];
获取

继承与父类

dictM[@"key"];
删除
//删除单个
[dictM removeObjectForKey:@"key"];
//删除多个,需要传入数组
[dictM removeObjectsForKeys:@[@"key1", @"key2"]];
//删除所有
[dictM removeAllObjects];
修改
//使用set给相同的key赋值,新值就会覆盖旧值
[dictM setObject:@"" forKey:@""];

注意

  • 不能使用@{ }创建一个可变的字典
  • 如果是不可变数组,那么key不能相同,后面的会覆盖前面的
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值