A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Blcak_Horse_Sam 中级黑马   /  2015-9-22 16:12  /  674 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//创建多个字典
        NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"obj1", @"key1",@"obj2", @"key2",nil];
//返回一个数组包含字典中所有的键
    NSArray *arr = [dic allKeys];
    //返回一个数组包含字典中所有的值
    NSArray *obj = [dic allValues];  
    //返回字典中的记录数
    NSUInteger cnt = [dic count];
    //返回指定的Key的对象
    id obj = [dic objectForKey:@"key1"];
               = dic [@"key1"];

                        //NSEnumerator
                        //依附于集合类(NSArray,NSSet,NSDictionary),没有用来创建实例的接口。
                        //NSEnumerator的nextObject方法可以遍历每个集合元素,结束返回nil,通过与while结合使用可遍历集合中所有项。
                        //对可变数组进行枚举操作时,不能通过添加或删除对象这类方式来改变数组容器。
              
    //为词典中所有的键返回一个NSEnumeraotr对象
    NSEnumerator enkey = [dic KeyEnumerator];
    //为词典中所有的值返回一个NSEnumeraotr对象
    NSEnumerator enobj = [dic objectEnumerator];

    //通过枚举快速遍历
    id key = [enumerator nextObject];  
    while (key) {  
        NSLog(@"%@", [enkey objectForKey:key]);  
        key = [enkey nextObject];  
    }  
    //通过块获取词典中的每一条目,当遍历完成或者指针stop=YES结束处理
    [dic enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
            NSLog(@obj for key %@ is %@”, key, obj);
            if ([@“key2” isEqualToString:key]) { *stop = YES; }}
    ];
    //快速遍历
    for(id key in dic) {  
            NSLog(@"key = %@  obj = %@", key, [dic objectForKey:key]);  
        }  

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马