IOS ——OC—— NSDictionary的使用总结

摘要:
键与值一一对应,键不能重复;该值可以重复;1.创建NSDictionary:(字典的内容是无序的,无法排序)NSDictionary*dic=[NSDictionarydictionary]//创建一个空字典NSDictiontionary*dic1=[NSDDictionaryDictionary WithObject:@“object”forKey:@“key”]//NSLog,一个只有一对键的字典(
键与值一一对应,键不能重复;
值可以重复;
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

免责声明:文章转载自《IOS ——OC—— NSDictionary的使用总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python 数据库连接池 DBUtilsvim利用coc补全的配置过程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

YYModel底层解析- Runtime

这段时间一直在忙新的需求,没有时间来整理代码,发表自己技术博客,今天我们来看一下YYModel的底层解析以及如何使用,希望对大家有所帮助! 一 概述 概括 YYModel是一个轻量级的JSON模型转换库,它的思路非常清晰代码风格也很好,所以还是建议大家看一下底层实现的逻辑,也可以从源码加深对Runtime的理解。 简介 下面是YYModel第三方库的一些代...

OC对象的动态和静态构造区别

Student.h: #import <Foundation/Foundation.h> @interface Student : NSObject @property(nonatomic,retain) NSString * name; @property(nonatomic,assign) int age; @end Studen...

iOS OC和Swift进行互相调用

有时候 ,我们会涉及到双向混合编程,特别是OC和swift的互相引用。 swift调用oc的方法: 1、桥接文件,一般是swift工程,在创建一个oc文件时,系统自动添加(不用改名,直接默认即可) 2、将需要引用的oc文件 .h头文件 添加到桥接类中。 如下: 然后在swift调用处,直接就可以使用了。 oc调用swift的方法: 1、首先设置一下Pac...

【OC学习-12】什么是类的继承?为什么要继承?以及继承里面的注意事项

(1)怎样实现类的继承? //之前的继承根类,如类ASStudent继承自根类 @interface ASStudent:NSObject{ } @end //如今继承现有自己定义的类,如ASStudent继承自Student @interface ASStudent:Student{ } @end (2)为什么要学习继承?理由就是少些代码。某些东西能...

[转]iOS高级调试&amp;amp;逆向技术-汇编寄存器调用

前言 本文翻译自Assembly Register Calling Convention Tutorial 序言 通过本教程,你会可以看到CPU使用的寄存器,并探索和修改传递给函数调用的参数。还将学习常见的苹果计算机架构以及如何在函数中使用寄存器。这就是所谓架构的调用约定。 了解汇编是如何工作的,以及特定架构调用约定是如何工作是一项极其重要的技能。它可以...

OC常用数据类型大全解

UI基础OC常用数据类型 Block Block封装了一段代码,可以在任何时候执行 Block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。它和传统的函数指针很类似,但是有区别:block是inline(内联函数)的,并且默认情况下它对局部变量是只读的 苹果官方建议尽量多用block。在多线程、异步任务、集合遍历、集合排序、动画转场用...