上一章我们通过一个枚举器访问并返回字典里的键值, 现在我们通过快速枚举来查找键对应的值.
涉及到的方法:
objectForKey: 这个方法的意思是返回一个值给对应的键, 下面使用了两次这个方法, 第一次没在循环里面使用, 输入了值@"1", 对应的值就是@"One".
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]; //字典和数组唯一不同的是, 数组要求顺序, 字典不用要求, 而且字典可以快速查找某一个键. //通过键, 我们可以快速的找到值 NSString *str = [dicti objectForKey:@"1"]; NSLog(@"str = %@", str); //快速枚举法 这里会找到键, 找到了键也就是得到了值 for(id obj in dicti) { NSLog(@"key = %@", obj); NSLog(@"object = %@", [dicti objectForKey:obj]); } } return 0; }
输出的结果:
2014-10-13 21:10:18.844 RapidEnumNSDictionary[6705:303] str = One 2014-10-13 21:10:18.845 RapidEnumNSDictionary[6705:303] key = 1 2014-10-13 21:10:18.845 RapidEnumNSDictionary[6705:303] object = One 2014-10-13 21:10:18.846 RapidEnumNSDictionary[6705:303] key = 3 2014-10-13 21:10:18.846 RapidEnumNSDictionary[6705:303] object = Three 2014-10-13 21:10:18.846 RapidEnumNSDictionary[6705:303] key = 2 2014-10-13 21:10:18.846 RapidEnumNSDictionary[6705:303] object = Two Program ended with exit code: 0