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
时间: 2025-01-02 15:01:35

NSDictionary使用枚举方法的相关文章

NSMutableArray使用枚举方法

可变数组也可以使用枚举方法, 我们在这里提供了两种枚举方法, 一个是正序枚举, 一个是倒序枚举, 在正序枚举中, 元素的个数和顺序都是不可以修改的, 但是在倒序枚举中却可以修改, 这有些耐人寻味. 涉及的方法: objectEnumerator: 正序枚举方法. reverseObjectEnumerator:倒序枚举方法. 下面我们来看看例子: //使用了枚举法的可变数组 #import <Foundation/Foundation.h> int main(int argc, const c

重写NSArray与NSDictionary的descriptionWithLocale方法

重写NSArray的descriptionWithLocale方法: NSArray+log.h #import <Foundation/Foundation.h> @interface NSArray (log) @end NSArray+log.m #import "NSArray+log.h" @implementation NSArray (log) - (NSString *)descriptionWithLocale:(id)locale { NSMutable

iOS 开发--NSMutableArray使用枚举方法

可变数组也可以使用枚举方法, 我们在这里提供了两种枚举方法, 一个是正序枚举, 一个是倒序枚举, 在正序枚举中, 元素的个数和顺序都是不可以修改的, 但是在倒序枚举中却可以修改, 这有些耐人寻味. 涉及的方法: objectEnumerator: 正序枚举方法. reverseObjectEnumerator: 倒序枚举方法. 下面我们来看看例子: //使用了枚举法的可变数组 #import <Foundation/Foundation.h> int main(int argc, const

golang的枚举方法

const ( ContinueOnError ErrorHandling = iota ExitOnError PanicOnError ) const iota =0 则实际对应的值的情况如下:     ErrorHandling = 0 ExitOnError   = 1 PanicOnError  = 2 go枚举方法看起来很清爽

NSDictionary使用快速枚举方法

上一章我们通过一个枚举器访问并返回字典里的键值, 现在我们通过快速枚举来查找键对应的值. 涉及到的方法: objectForKey: 这个方法的意思是返回一个值给对应的键, 下面使用了两次这个方法, 第一次没在循环里面使用, 输入了值@"1", 对应的值就是@"One". PS: 在这里, 我们找到了键, 就代表找到了值. 下面是例子: #import <Foundation/Foundation.h> int main(int argc, const

遍历NSArray, NSDictionary, NSSet的方法总结

1,for循环读取 1 NSArray: 2 NSArray *array = /*…*/ 3 for(int i=0; i<array.count; i++) 4 { 5 id object = array[i]; 6 // do sth 7 } 8 9 NSDictionary: 10 NSDictionary *dic = /*…*/ 11 NSArray *keys = [dic allKeys]; 12 for(int i=0; i<keys.count; i++) 13 { 14

IOS_Swift_enum枚举方法

本博文为子墨原创,转载请注明出处! http://blog.csdn.net/zimo2013/article/details/50116811 enum Type: Int{ case A=1 case B=3 //普通方法 func toString()->String{ var info="" switch self{ case .A: info = "一" case .B(): info = "三" } return info }

OC中快速创建NSNumber NSDictionary NSArray的方法

NSNumber: @()     @小括号 或者        NSNumber * num = @3;    NSValue * value = @4; NSDictionary :@{} @大括号 NSArray :@[] @中括号

NSDictionary初始化,使用@{}方法,插入nil时会报空指针异常

由于今天在NSDictionary初始化的时候出现Crash异常,故记录一下,避免下次再犯. 在Objective-C中,NSDictionary初始化的方法有很多种 方法1: [NSDictionary dictionaryWithObjectsAndKeys:<#(id), ...#>, nil] 方法2: NSDictionary *dic = @{@"key":value} 那么,坑在哪里呢?就在第二种初始化方法 NSDictionary *dic = @{@&qu