博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Foundation-02字典NSDictionary 和NSMultableDictionary
阅读量:5937 次
发布时间:2019-06-19

本文共 978 字,大约阅读时间需要 3 分钟。

1:NSDictionary由于是不可变的,所以一般会在创建的时候加入数据,一般有两种方式:一种类方法,一种对象方法

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:                          @"Mike", @"name",                          @"BeiJing", @"address",                          nil];
NSDictionary *dict=[[NSDictionary alloc]initWithObjectsAndKeys:obj,key,obj2,key2];

键值对一一对应,可以有同样的值,不允许有同样的key,有个对象方法[dict count]表示键值对个数

有个类方法,可以分开传两个数组,一个放键,一个放值,一一对应[NSDictionary dictionaryWithObjects:NSArray* forkeys:NSArray]

字典的元素访问都是通过key访问值:

遍历字典:1:快速遍历法

for (id key in dict){id obj=[dict objectForKey:key];}

2:通过block

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

*stop是用来停止遍历的 ,通过*stop=YES

2:NSMultableDictionary

作为 NSDictionary的子类,继承了父类的所有方法,由于multable是可变的,所以可以不用创建的时候就插入数据

可以通过[dict setObject:@"mike" forkey:@"name"];添加数据,也可以通过[dict removeObjectForKey:]来移除数据

3:字典的内存管理

往字典中插入OC对象,OC对象计数器就会加1,在字典销毁或者,移除数据的时候就会-1,不需要用户去管理内存

转载于:https://www.cnblogs.com/v-ios/p/3170597.html

你可能感兴趣的文章
day 20 第一阶段考试总结
查看>>
Javascript实例:Select的OnChange()事件
查看>>
Linux SAMBA服务器重启后自动挂载失效
查看>>
java 编译时的初始化顺序
查看>>
Data Guard 使用 alter system archive log current 维护 Archive Log
查看>>
LAMP 和 LNMP 下服务的几种启动方式
查看>>
mysql sql_salve_skip_counter
查看>>
将table数据封装成json格式的字符串,以便传到后台处理。
查看>>
我的友情链接
查看>>
PHP实现阶乘运算小代码
查看>>
Storm【实践系列-如何写一个爬虫- Metric 系列】 - 2 Librato
查看>>
【MySQL】组提交技术的阅读思考
查看>>
Unity实现瓦片地图tile map
查看>>
SEO禁用蜘蛛(爬虫)搜索收录网页(全)
查看>>
python 判断文件、文件夹是否存在
查看>>
nginx+php
查看>>
phpcms v9 上传附件路径设置
查看>>
关于数据库关闭的问题
查看>>
[解决方案]处理UIScrollView滑动与左右侧栏UIPanGestureRecognizer手势冲突
查看>>
PHP中max_input_nesting_level、max_input_vars的坑
查看>>