Foundation框架 —— NSDictionary

----------------------  ASP.Net+Unity开发 .Net培训 、期待与您交流! ----------------------

字典,在现实生活中我们都用过。那么,在编程中,字典又是怎么使用的呢?

比如,一个名叫jack的老外,他现在居住在北京。这在编程中又是如何体现的呢?怎样查找这个人的信息呢?

NSDictionary *dict = [NSDictionary dictionaryWithObject:@"jack" forKey:@"name"];

通过name我们就能找到jack这个人。

NSArray *keys = @[@"name", @"address"];
NSArray *objects = @[@"jack", @"北京"];

在OC里面,字典存储的东西都是键值对,name——>jack,address——>北京。

NSDictionary *dict = [NSDictionary dictionaryWithObject:objects forKeys:keys]; // 这是在字典中查找的方法
NSDictionary *dict = [NSDictionary dictionaryWithObject:objectsAndKeys:@"jack", @"name", @"北京", @address]; //  字典

这是以前在字典的查找方法和表达方式。右面有一大串东西,给我们增加很大的工作量。

在Xcode跟新之后,将我们程序员的很多工作量都简化了,不需要话费大量时间和精力放在这些垃圾代码上了。

NSDictionary *dict = @{@"name" : @"jack", @"address" : @"北京"};

这样是不是可读性更好了,工作量更少了。

想找jack——> dict[@"name"]; 就能实现。

如何查找我们知道了,但是我们想添加、删减我们的字典,又该如何操作呢?

添加键值对:[dict setObject:@"rose" forKey:@"name"];
      [dict setObject:@"南京" forKey:@"address"];

如果我们这样操作: [dict setObject:@"jim" forKey:@"name"]; 那么jim会覆盖上面的rose。一个name只能对应一个名称。多次赋值会覆盖以前的名称。

移除键值对:[dict removeObject forKey:(id)];

字典是不允许有相同的key,但是允许有相同的value(object),而且字典中存储的东西是无序的。
那么,我们如何遍历整个字典呢。
[dict enumerateKeysAndObjectsUsingBlock: ^(id key, id obj , BOOL *stop)
{
NSLog(@"%@ - %@", key, obj);
*stop =YES;
}];

有个问题:我们程序员每天都要写很多代码,那么,我们怎样才能知道自己以前写了多少代码呢,如何计算我们代码的行数?



 




---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值