NSDictionary使用快速枚举方法

上一章我们通过一个枚举器访问并返回字典里的键值, 现在我们通过快速枚举来查找键对应的值.

涉及到的方法:

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