zoukankan      html  css  js  c++  java
  • 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);

            }];

  • 相关阅读:
    LeetCode 258. Add Digits
    LeetCode 257. Binary Tree Paths
    LeetCode 周赛 184
    js算法初窥05(算法模式02-动态规划与贪心算法)
    js算法初窥04(算法模式01-递归)
    js算法初窥03(搜索及去重算法)
    js算法初窥02(排序算法02-归并、快速以及堆排序)
    js算法初窥01(排序算法01-冒泡、选择、插入)
    用js来实现那些数据结构16(图02-图的遍历)
    用js来实现那些数据结构15(图01)
  • 原文地址:https://www.cnblogs.com/liuguan/p/4914428.html
Copyright © 2011-2022 走看看