• 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
  • 相关阅读:
    python 换行符的识别问题,Unix 和Windows 中是不一样的
    MaxCompute小文件问题优化方案
    MaxCompute小文件问题优化方案
    C++ 中的sort()排序函数用法
    C++ 中的sort()排序函数用法
    简单记录几个有用的sql查询
    bzoj1084(SCOI2005)最大子矩阵
    bzoj1025(SCOI2009)游戏——唯一分解的思路与应用
    bzoj1087互不侵犯King(状压)
    bzoj2748(HAOI2018)音量调节
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4023096.html
Copyright © 2020-2023  润新知