NSDictionary

news/2024/12/2 19:33:19/

创建

单个创建

这里写图片描述

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不能相同,后面的会覆盖前面的

http://www.ppmy.cn/news/663048.html

相关文章

NDSI LL定位之我见

自己的一点看法&#xff0c;不满意可尽情拍砖。 在说这个问题之前&#xff0c;我们先明确一点&#xff0c;任天堂绝对是游戏界得道的老妖精&#xff0c;它不会SB到推出一款谁都不要的东东&#xff0c;除非他们集体洗澡的时候水从耳朵中进去了。 呃&#xff0c;所以我们从另一个…

xml中like的几种写法(模糊查询)

方法1&#xff1a;concat <where> <trim suffixOverrides"," > <if test"id ! null and id ! " > and id #{id} </if> <if test"name ! null and name ! " > …

lr测试HTTPS协议

过格尔网关的测试 基于https的传输协议&#xff0c;需要使用ca证书来进行访问&#xff0c;客户端需要使用https来打开页面。 首先需要准备测试使用的证书。 制作*.pfx格式&#xff0c;该种格式的证书可以通过双击运行安装到IE浏览器上。 这种证书需要客户网关的管理人员&…

此计算机当前已经连接限制为*** WIFI 无线连接不成功

**问题&#xff1a;**连接网络时弹出如下窗口 解决方案&#xff1a; WIN7 任务栏网络图标&#xff0c;右键打开网络和共享中心。 WIN10控制面板 >网络和共享中心 更改适配器设置&#xff0c;找到你的无限网卡WLAN&#xff0c;右键属性。如下界面&#xff1a; 取消掉第二个选…

为什么笔记本连接WiFi总是受限

因为笔记本不经常带回宿舍&#xff0c;所以不怎么在宿舍登cmcc-edu&#xff0c;可是最近几次&#xff0c;我在宿舍连接cmcc-edu总是受限&#xff0c;将就了几次后终于将就不下去了&#xff08;所以&#xff0c;不将就是发现的源动力&#xff09;。连接受限应该是网络连接设置的…

无线网服务器错误,宽带WIFI无线网受限?错误代码及解决方法全集!

最近有不少读者在微信上咨询笔者&#xff0c;说能不能提供一些有关电脑上网问题的文章&#xff1f;碰巧笔者最近家里网络经常出问题&#xff0c;因为周边在整改网络线路&#xff0c;很多时候上不了网&#xff0c;无线网显示“网络受限”的黄色感叹号&#xff0c;如下图。如果你…

win8连接wifi成功但受限制_连接wifi成功但受限制如何解决 连接wifi成功但受限制解决【步骤】...

连接wifi成功但受限制的搞定方式一&#xff1a; 我们在wifi信号时&#xff0c;偶尔出现“网络受限”&#xff0c;电脑将无法上网&#xff0c;此状况是偶尔出生或是随机出现&#xff0c;那我们该如何搞定呢! 首先是最简单的方式&#xff0c;重新启动路由器。直接拔掉路由器电源从…

无线网络呗主服务器限制网速怎么办,网速限制解除方法有哪些 wifi网络被限制如何解除...

众所周知&#xff0c;网络运营商给我们的网速并不是100%的网速&#xff0c;而是受限之后的网速。所以&#xff0c;但我们网速很卡&#xff0c;很慢时&#xff0c;可以释放被限制的网速&#xff0c;以达到提高网速的目的&#xff0c;那么&#xff0c;网速限制解除方法有哪些呢&a…