zoukankan      html  css  js  c++  java
  • IOS ——OC—— NSDictionary的使用总结

    键与值一一对应,键不能重复;
    值可以重复;
    1.NSDictionary的创建:(字典的内容是无序的,不能进行排序)
     NSDictionary *dic = [NSDictionary dictionary];//创建一个空字典
           
            NSDictionary *dic1 = [NSDictionary dictionaryWithObject:@"object" forKey:@"key"];//只有一对键值的字典
            NSLog(@"%@",dic1);
           
            NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:@"value1",@"key1" ,@"value2",@"key2",nil];//字典的存放是无序的(没有下标的概念)(键值,键)
            NSLog(@"%@",dic2);
       
            NSDictionary *dic3 = @{
                                   @"key1":@"123",
                                   @"key2":@"456",
                                   @"key3":@"466"
                                   };//快速创建( @“键”:@“键值” )要用大括号!
            NSLog(@"%@",dic3);
            dic3 = @{@"1":@"hguf",
                      @"2":@"dfgdsf",
                      @"3":@"vbrthf"
                    };//对dic3重新初始化,并没有改变内容;
    1.NSDictionary的使用:
     long int count = dic3.count;//字典的长度,键值对个数:
            NSLog(@"%zi",count);
       
            NSString *s = [dic3 objectForKey:@"2"];//获取某key对应的值;
            NSLog(@"%@",s);
            NSString *s1 = dic3[@"3"];//获取某key对应的值;
            NSLog(@"%@",s1);
           
            //遍历:
            //获取key;
          NSArray *keyarr = [dic3 allKeys];
            for(NSString *key in keyarr)
     NSLog(@"%@=%@",key,dic3[key]);
    1=hguf
    2=dfgdsf
    3=vbrthf
            //获取值
            NSArray *valuearr = [dic3 allValues];
            for(NSString *value in valuearr)
                NSLog(@"%@",value);
       
    hguf
    dfgdsf
    vbrthf
     
            NSEnumerator *e = [dic3 keyEnumerator];//先获取字典中key的枚举器,然后遍历该枚举器,获取key对应的值
            id k;
            while(k=[e nextObject])
                NSLog(@"%@ = %@",k,dic3[k]);
    1 = hguf
    2 = dfgdsf
    3 = vbrthf
     
          NSEnumerator *e1 = [dic3 objectEnumerator];//获取字典中值的枚举器
            id value;
            while(value=[e1 nextObject])
     结果:           NSLog(@"%@",value);
    hguf
    dfgdsf
    vbrthf
           
            [dic3 enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {          NSLog(@"key=%@,value=%@",key,obj);
            }];//stop代表遍历停止
       运行结果:
    key=1,value=hguf
    key=2,value=dfgdsf
    key=3,value=vbrthf
    感谢您的访问! 若对您有帮助或有兴趣请关注博客:http://www.cnblogs.com/Rong-Shengcom/
  • 相关阅读:
    linux加载和卸载模块
    java 面试题之银行业务系统
    java 面试题之交通灯管理系统
    java 实现类似spring的可配置的AOP框架
    分析JVM动态生成的类
    最长上升子序列(模板)
    项目管理模式
    让thinkphp 支持ftp上传到远程,ftp删除
    hdu 1280 前m大的数 哈希
    互联网+脑科学,中国脑计划的机会
  • 原文地址:https://www.cnblogs.com/Rong-Shengcom/p/4970622.html
Copyright © 2011-2022 走看看