zoukankan      html  css  js  c++  java
  • NSDictionary使用枚举方法

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

    这里涉及的方法:

    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
  • 相关阅读:
    生成1--n的全排列
    小P的秘籍
    小P的字符串
    小P的金字塔
    2198: 小P当志愿者送餐
    交换排序(快速排序重点)
    关于上级机构的冲突性测试bug修复
    系统当前时间system.currenttimemillis与new Date().getTime() 区别
    Servlet中(Session、cookies、servletcontext)的基本用法
    默认图片展示(个人信息模块)
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4023096.html
Copyright © 2011-2022 走看看