首页 > 代码库 > NSDictionary使用枚举方法

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 = 12014-10-13 20:55:07.950 EnumNSDictionary[6624:303] key = 32014-10-13 20:55:07.950 EnumNSDictionary[6624:303] key = 22014-10-13 20:55:07.951 EnumNSDictionary[6624:303] objen = One2014-10-13 20:55:07.951 EnumNSDictionary[6624:303] objen = Three2014-10-13 20:55:07.951 EnumNSDictionary[6624:303] objen = TwoProgram ended with exit code: 0

 

NSDictionary使用枚举方法