Foundation-02字典NSDictionary 和NSMultableDictionary

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值