Objective-C之字典

        //字典:(关键字 值)

//插入代码字太小

//        NSArray *array = [NSArray array];//空数组

//        NSDictionary *dictionary = [NSDictionary dictionary];//空字典

        NSDictionary *my = [NSDictionary dictionaryWithObject:@"objective" forKey:@"key"];

                            NSLog(@"%@",my);

        NSDictionary *to = [NSDictionary dictionaryWithObjectsAndKeys:@"123",@"abc",@"456",@"efg" ,nil];//创建包含多个值的字典

        NSLog(@"%@",to);

        NSDictionary *me = @{

                               @"a":@"1",

                               @"b":@"2"

                             };

        NSLog(@"%@,%li",me,me.count);

        NSString *s = [me objectForKey:@"a"];//键值对应的对象

        NSString *ss = me[@"b"];//跟数组差不多

        NSLog(@"%@,%@",ss,s);

        

//        NSArray *keyArr = [me allKeys];

//        for(NSString *key in keyArr)

//        {

//            NSLog(@"%@ = %@",key,me[key]);

//        }

      

        NSDictionary *niubi = [NSDictionary dictionaryWithObjectsAndKeys:@"liyuanfang",@"direnjie",@"Moran ",@"fuermosi",@"kenanfushou",@"kenan" ,nil];//创建包含多个值的字典

        NSArray *keyArr = [niubi allKeys];//取字典中的所有键值

        for(NSString *key in keyArr)

        {

            NSLog(@"%@问%@这事你怎么看?",key,niubi[key]);

        }

/**********************************************************************************/

        //取出字典中所有的值

        NSArray *valueArr = [me allValues];

        NSLog(@"取字典中的所有键对应的值%@",valueArr);

        

        //字典既然存在,那么开发者肯定想到要方便的使用它

        //然而就有了,可以独立取出键或值的方法:allKeys和allValues

        //因为他们是数组属性,所以需要放到新建的数组对象中

        

        //枚举器中OC语言中一个遍历的有效方法,

        //应用时,一般先通过.....Enumerator获取枚举器,存放到其对应的类型NSEnumerator对象中

        //这个对象会有一个自动向下遍历的方法nextObject

        //先获取字典中key的枚举器,然后遍历该枚举器,获取key对应的值

        NSEnumerator *e = [me keyEnumerator];

        id obj;        

        while (obj = [e nextObject]) {

            NSLog(@"%@ = %@",obj,me[obj]);

        }

        

        //获取value对应的枚举器

        NSEnumerator *a = [me objectEnumerator];

        while(obj = [a nextObject])

        {

            NSLog(@"%@",obj);

        }

        

        //键和对象列举块,stop代表遍历停止

        

        [me enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {

            

            NSLog(@"key=%@,value = %@",key,obj);

        }];

posted @ 2015-10-27 15:37  刘冠  阅读(643)  评论(0编辑  收藏  举报