zoukankan      html  css  js  c++  java
  • Objective -C学习笔记之字典

     1         //字典:(关键字 值)
     2 //        NSArray *array = [NSArray array];//空数组
     3 //        NSDictionary *dictionary = [NSDictionary dictionary];//空字典
     4         NSDictionary *my = [NSDictionary dictionaryWithObject:@"objective" forKey:@"key"];
     5                             NSLog(@"%@",my);
     6         NSDictionary *to = [NSDictionary dictionaryWithObjectsAndKeys:@"123",@"abc",@"456",@"efg" ,nil];//创建包含多个值的字典
     7         NSLog(@"%@",to);
     8         NSDictionary *me = @{
     9                                @"a":@"1",
    10                                @"b":@"2"
    11                              };
    12         NSLog(@"%@,%li",me,me.count);
    13         NSString *s = [me objectForKey:@"a"];//键值对应的对象
    14         NSString *ss = me[@"b"];//跟数组差不多
    15         NSLog(@"%@,%@",ss,s);
    16         
    17 //        NSArray *keyArr = [me allKeys];
    18 //        for(NSString *key in keyArr)
    19 //        {
    20 //            NSLog(@"%@ = %@",key,me[key]);
    21 //        }
    22       
    23         NSDictionary *niubi = [NSDictionary dictionaryWithObjectsAndKeys:@"liyuanfang",@"direnjie",@"Moran ",@"fuermosi",@"kenanfushou",@"kenan" ,nil];//创建包含多个值的字典
    24         NSArray *keyArr = [niubi allKeys];//取字典中的所有键值
    25         for(NSString *key in keyArr)
    26         {
    27             NSLog(@"%@问%@这事你怎么看?",key,niubi[key]);
    28         }
    29 /**********************************************************************************/
    30         //取出字典中所有的值
    31         NSArray *valueArr = [me allValues];
    32         NSLog(@"取字典中的所有键对应的值%@",valueArr);
    33         
    34         //字典既然存在,那么开发者肯定想到要方便的使用它
    35         //然而就有了,可以独立取出键或值的方法:allKeys和allValues
    36         //因为他们是数组属性,所以需要放到新建的数组对象中
    37         
    38         //枚举器中OC语言中一个遍历的有效方法,
    39         //应用时,一般先通过.....Enumerator获取枚举器,存放到其对应的类型NSEnumerator对象中
    40         //这个对象会有一个自动向下遍历的方法nextObject
    41         //先获取字典中key的枚举器,然后遍历该枚举器,获取key对应的值
    42         NSEnumerator *e = [me keyEnumerator];
    43         id obj;        
    44         while (obj = [e nextObject]) {
    45             NSLog(@"%@ = %@",obj,me[obj]);
    46         }
    47         
    48         //获取value对应的枚举器
    49         NSEnumerator *a = [me objectEnumerator];
    50         while(obj = [a nextObject])
    51         {
    52             NSLog(@"%@",obj);
    53         }
    54         
    55         //键和对象列举块,stop代表遍历停止
    56         
    57         [me enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
    58             
    59             NSLog(@"key=%@,value = %@",key,obj);
    60         }];

     可变字典

     1         NSMutableDictionary *aa = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"a",@"1",@"b",@"2", nil];
     2         //
     3         [aa setObject:@"c" forKey:@"3"];
     4         NSLog(@"%@",aa);
     5         [aa setValue:@"d" forKey:@"4"];
     6         NSLog(@"%@",aa);
     7         //
     8         [aa removeObjectForKey:@"4"];
     9         NSLog(@"%@",aa);
    10         [aa removeAllObjects];
    11         NSLog(@"%@",aa);
  • 相关阅读:
    Python字典dict对象方法总结
    PythonString字符串的相关方法
    Mysql5.7.20使用group by查询(select *)时出现错误修改sql mode
    HtmlTestRunner无法生成HTML报告问题
    话说 type 之 record 记录的使用技巧 F#
    Silverlight OOB 获取桌面可视尺寸 F# PInvoke
    目前让 F# 支持 Silverlight 5 的解决方案(包括 lazy 不可用)
    话说 type 之 let 绑定与 val 显式字段 F#
    这两天自己模仿写的一个Asp.Net的显示分页方法 附加实体转换和存储过程 带源码下载
    Asp.net 在三层架构中事务的使用
  • 原文地址:https://www.cnblogs.com/liuguan/p/4914441.html
Copyright © 2011-2022 走看看