Foundation框架—字典NSDictionary 可变和不可变

Foundation 框架初体验
_______________ NSDictionary 不可变字典 _______________
//字典和数组的区别
1.字典的内存不是连续的 数组是连续的
2.用key和value进行对应(键值)kvc键值编码 (数组是下标)
3.字典的输出为 {} 数组的输出为()

//不可变的字典 要赋值 申明之后就不能改了

// 对应 a=1 b=2 c=3 key在后 value在前
NSDictionary *dict =[NSDictionary dictionaryWithObjects: [NSArray arrayWithObjects:@”1”,@”2”,@”3”,nil] forkeys:[NSArray arrayWithObjects:@”a”,@”b”,@”c”,nil]];
//常用方法 a=1 b=2 c=3 key在前 value在后
NSDictionary *dict2 =@{@”a”:@”1”,@”b”:@”2”,@”c”:@”3”};

//键值对的数量
int count =(int)[dict count];

//根据key 取值value
NSString *value = [dict valueForKey:@”b”];
NSString *value = [dict objectForKey:@”b”]; //这两个方法都一样

//取得数组中所有 键值对 中的 value
NSArray *allValues =[dict allValues]; // 结果 1 2 3
//取得数组中所有 键值对 中的 key
NSArray *allKeys =[dict allKeys]; // 结果 a b c

//如果没有相应的key d 就返回数组 not found 提示
NSArray *array =[dict objectsForKey:[NSArray arrayWithObjects:@”a”,@”b”,@”d”,nil] notFoundMarker:@”not found”];

//遍历字典 用 for in 常用 (不管你用什么方式遍历 遍历的都是字典的key 而不是字典的value)
for(NSString *key in dict)
{
//输出结果为 a=1 b=2 c=3
NSLog(@”%@ = %@”,key , [dict objectForKey:key]);
}

_______________ NSMutableDictionary 可变字典 _______________

NSMutableDictionary *dict =[[NSMutableDictionary alloc]init];

//添加键值对
[dict setObject:@”1” forkey:@”a”];
[dict setObject:@”2” forkey:@”b”];
[dict setObject:@”3” forkey:@”c”];

//删除所有键值对
[dict removeAllObjects];
//删除指定的键值对
[dict removeObjectForKey:@”b”];
//删除多个键值对
[dict removeObjectsForKeys:[NSArray arrayWithObjects:@”a”,@”b”,@”c”,nil] ];

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值