首页 > 其他 > 详细

OC学习笔记 Foundation 集合类 字典Dictionary

时间:2015-05-01 07:05:24      阅读:227      评论:0      收藏:0      [点我收藏+]

字典 由键-值对组成的数据集合

4种创建字典方式

1>针对单个键值对 直接赋值

 1  NSDictionary *dic = [NSDictionary dictionaryWithObject:@"dajie" forKey:@"name"];//直接创建字典
 2     id object = [dic objectForKey:@"name"];// 取出name键对应值
 3     NSLog(@"%@",object);

2>以键值对集合创建

1       NSArray *obj = @[@"dajie",@"ly"];
2       NSArray *keys = @[@"name",@"address"];
3       NSDictionary *dic1 = [NSDictionary dictionaryWithObjects:obj forKeys:keys];//创建字典
4       NSLog(@"%@",dic1);

3>直接创建并赋值

1      NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:@"dajie",@"name",@"ly",@"address", nil];//nil不可少
2      NSLog(@"\n---%@",dic2);
3      id obj2 = [dic2 objectForKey:@"name"];//根据键取出对应的值
4      NSLog(@"%@",obj2);

4>开发中常用

    //xcode 新特性 开发中常用
15     NSDictionary *dic3 = @{@"name" : @"dajie",@"address":@"ly",@"qq":@"12324124"};
16     NSLog(@"%@\n--%@--%ld",dic3,[dic3 objectForKey:@"name"],dic3.count);

 

 

可变字典

2      NSMutableDictionary *mdic = [NSMutableDictionary dictionary];//创建

添加元素和删除元素

//添加键值对
20     [mdic setObject:@"dajie" forKey:@"person"];
21     [mdic setObject:@"hashiqi" forKey:@"dog"];
22     [mdic setObject:@"shapi" forKey:@"dog"];  //主键一样字典元素前者会被后者覆盖
23     NSString *str = mdic[@"dog"];
24     NSLog(@"%@",str);
25   //删除
26     [mdic removeAllObjects];
27     [mdic removeObjectForKey:@"dog"];
28     NSLog(@"%@",mdic);

遍历元素

1基本for循环遍历

30    NSDictionary *newDic = @{
31                              @"name": @"dajie",
32                              @"dog":@"HASHIQI"
    }; 33 NSArray *key = [newDic allKeys];//取出所有的key 34 for (int i; i < newDic.count; i++) { 35 NSString *keys = key[i]; 36 NSString *value = newDic[keys]; 37 NSLog(@"%@ = %@",keys,value); 38 }

2 简洁遍历

//推荐使用 快速遍历
40     [newDic enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
41         NSLog(@"%@ - %@ ",key ,obj );
42     }];

 

OC学习笔记 Foundation 集合类 字典Dictionary

原文:http://www.cnblogs.com/zhangdashao/p/4470238.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!