Objective-C语法之词典对象的那些事儿(八)

系统 2030 0

Objective-C 语法之词典对象的那些事儿




做过 Java 语言 或者 C 语言 开发的朋友应该很清楚 关键字 map 吧,它可以将数据以键值对儿的形式储存起来,取值的时候通过 KEY 就可以直接拿到对应的值,非常方便。在 Objective-C 语言中 词典对象就是做这个事情的,不过在同一个词典对象中可以保存多个不同类型的数据,不像 Java C 只能保存声明的相同类型的数据,它的关键字为 NSDictionary NSMutableDictionary 。阅读过我之前文章的朋友应该从关键字的结构就可以看出这两个的区别。很明显前者为不可变词典,或者为可变词典。




1. 创建不可变词典



[NSDictionary dictionaryWithObjectsAndKeys:..] : 使用键值对儿直接创建词典对象,结尾必需使用 nil 标志结束。

[NSDictionary initWithObjectsAndKeys:..] : 使用键值对儿初始化词典对象,结尾必需使用 nil 标志结束。

[dictionary count]: 得到词典的长度单位。

[dictionary keyEnumerator]: 将词典的所有 KEY 储存在 NSEnumerator 中, NSEnumerator 很像 Java 语言 中的迭代器,使用快速枚举可以遍历词典中所有储存 KEY 值。

[dictionary objectEnumerator]: 将词典的所有 value 储存在 NSEnumerator , 用法和上面差不多可用来遍历 KEY 对应储存的 Value 值。

[dictionary objectForKey:key]: 通过传入 KEY 对象可以拿到当前 KEY 对应储存的值。














2. 创建可变词典对象



NSMutableDictionary NSDictionary 的子类,所以继承了 NSDictionary 的方法。


[NSMutableDictionary dictionaryWithCapacity:10] : 创建一个可变词典初始指定它的长度为 10. ,动态的添加数据如果超过 10 这个词典长度会自动增加,所以不用担心数组越界。

[NSMutableDictionary initWithCapacity:10] : 只是初始化一个词典的长度为 10

[dictionary setObject:@" 雨松 MOMO" forKey:@"name"] : 向可变的词典动态的添加数据 ,这里的 key name 值是雨松 MOMO 。如果词典中存在这个 KEY 的数据则直接替换这个 KEY 的值。

[dictionary removeAllObjects..] : 删除掉词典中的所有数据。

[dictionary removeObjectForKey..] : 删除掉词典中指定 KEY 的数据














词典类的存在就是为了解决在大量数据中查找方便,因为它是通过 key 直接找到 value 所以速度很快,避免一个个的遍历寻找造成的效率低下,善用字典类会帮你的程序提速噢。 哇咔咔~ 晚安各位盆友们~



Objective-C语法之词典对象的那些事儿(八)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论