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