在字典当中我们同样可以使用枚举方法, 通过枚举方法逐个打印里面的键和值.

这里涉及的方法:

keyEnumerator:通过一个枚举器可以访问并返回字典里的键.

objectEnumerator:通过一个枚举器可以访问并返回字典里的值.

PS:这里我们需要注意一下, 由于字典里没有顺序的要求, 所以在这里我们是没有逆序枚举的方法.

#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {@autoreleasepool {NSDictionary *dicti = [[NSDictionary alloc]initWithObjectsAndKeys:@"One", @"1", @"Three", @"3",@"Two", @"2", nil];//枚举法它分为键的便利.NSEnumerator * enumerator = [dicti keyEnumerator];id key;while(key = [enumerator nextObject]){NSLog(@"key = %@", key);}
//        PS:因为我们在这里使用的是便利, 所以它打印的结果会按照我们存储的顺序来打印.
//        同样, 由于字典不要求顺序的排列, 所以在字典里是没有逆序枚举这种方法.//值的便利.NSEnumerator * objen = [dicti objectEnumerator];id obje;while(obje = [objen nextObject]){NSLog(@"objen = %@", obje);}[dicti release];}return 0;
}

输出的结果:

2014-10-13 20:55:07.949 EnumNSDictionary[6624:303] key = 1
2014-10-13 20:55:07.950 EnumNSDictionary[6624:303] key = 3
2014-10-13 20:55:07.950 EnumNSDictionary[6624:303] key = 2
2014-10-13 20:55:07.951 EnumNSDictionary[6624:303] objen = One
2014-10-13 20:55:07.951 EnumNSDictionary[6624:303] objen = Three
2014-10-13 20:55:07.951 EnumNSDictionary[6624:303] objen = Two
Program ended with exit code: 0

转载于:https://www.cnblogs.com/iOSCain/p/4023096.html

NSDictionary使用枚举方法相关推荐

  1. 枚举方法在swtch中的用法

    在写汤姆猫的代码时,将汤姆猫的各种动作全都链接到了一个IBAction中,区分这些方法的是它们不同的tag 但是为了在后面写代码时方便观察审阅,可以用到枚举方法 在枚举中对第一个项目设定了值以后,后面 ...

  2. java在枚举方法中调方法_java – 值方法如何在枚举中工作

    在Enum中value()方法如何工作? values()方法背后的逻辑是什么? 在我的项目中,我们将所有枚举数据缓存在Map中,如下所示: public enum Actions { CREATE( ...

  3. Go语言实现枚举方法,const和iota结合轻松实现

    Go语言现阶段没有枚举类型,但是可以使用 const 常量配合 iota 来模拟枚举类型,请看下面的代码: type Weapon intconst (Arrow Weapon = iota // 开 ...

  4. java 枚举 方法_Java枚举使用方法详解

    在实际编程中,往往存在着这样的"数据集",它们的数值在程序中是稳定的,而且"数据集"中的元素是有限的. 例如星期一到星期日七个数据元素组成了一周的"数 ...

  5. ACM算法--枚举方法(指数枚举,组合枚举)模板

    // 递归实现指数型枚举 vector<int> chosen; void calc(int x) {if (x == n + 1) {for (int i = 0; i < cho ...

  6. 『ACM-算法-枚举法』信息竞赛进阶指南--枚举方法

    你以为枚举是一个一个的找? 还真是 你以为枚举都是for循环? 还真是 但你真的会枚举吗?组合型枚举,指数型枚举,排列型枚举?难道你只会线形枚举? 你可太菜了! // 递归实现指数型枚举 vector ...

  7. 【Kotlin】Kotlin enum 枚举类 ( 常用用法 | 初始化成员变量 | 实现抽象方法 | 实现接口 | 获取名称和位置索引 | 调用枚举常量方法 )

    文章目录 I . 枚举类常用用法 II . 枚举类初始化 III. 枚举类匿名类 IV . 枚举类实现接口 V . 获取枚举常量名称和位置索引 VI . 获取枚举常量的成员变量 VII . 调用枚举常 ...

  8. 扩展方法 枚举值_扩展枚举功能的两种方法

    扩展方法 枚举值 前言 在上一篇文章中,我解释了如何以及为什么在Java代码中使用enums而不是switch/case控制结构. 在这里,我将展示如何扩展现有enums功能. 介绍 Java enu ...

  9. 扩展枚举功能的两种方法

    前言 在上一篇文章中,我解释了如何以及为什么在Java代码中使用enums而不是switch/case控制结构. 在这里,我将展示如何扩展现有enums功能. 介绍 Java enum是一种编译器魔术 ...

最新文章

  1. 异常处理 课后作业2
  2. 房东收电费1.5犯法吗_深圳房东租客少了,感到很困难压力很大,几栋楼房间空着!...
  3. mysql进阶知识_Mysql面试知识点总结(进阶篇)
  4. ajax 在php中一个运用
  5. python增强运算符_Python学习【第3篇】:Python之运算符
  6. 在metasploitable里面搭建ZVulDrill
  7. Google 推出移动版任务管理工具 Google Tasks
  8. 802.11 对于multicast 和 broadcast的处理
  9. Atitti.数字证书体系cer pfx attilax总结
  10. OpenGL渲染YUV420P
  11. 同济大学Python程序设计基础 实验二:数据表示和处理
  12. 计算机基础--作业5,计算机基础第5次作业-第五章-Powerpoint知识题 (精选可编辑)...
  13. 基于ESP8266的遥控小车
  14. 数加生产制造执行系统(MES)——优势
  15. 领导力:“不懂带团队你就自己累”
  16. 阅读Hierarchical Graph Representation Learning with Differentiable Pooling(NeurIPS 2018)
  17. Codeforces Gym 101142 G Gangsters in Central City (lca+dfs序+树状数组+set)
  18. ZOJ Monthly, January 2019 - A 规律
  19. 好心情与爱谛科技战略合作签约,开启精神疾病定量治疗新篇!
  20. java 集成 layIm 聊天工具

热门文章

  1. java高并发多线程架构_《Java高并发编程详解-多线程架构与设计》线程安全与数据同步...
  2. django项目实现第三方github登录
  3. 一个没有停止的android闹钟,一旦开始就要把歌唱完 .
  4. Scrum 大白话总结
  5. IP头,TCP头,UDP头,MAC帧头定义(转)
  6. [转] 计算机视觉领域稍微容易中的期刊
  7. 远程计算机已结束连接解决方法
  8. 二叉线索树的先序、中序、后序的线索化及其遍历
  9. 问题 K: 数字统计
  10. 图解算法之排序算法(2)——选择排序