zoukankan      html  css  js  c++  java
  • objective-c可变字典

     1 #pragma mark *****************************字典********************************
     2 //        字典:通过key来取值的 key值必须是成对出现的,key不能为空(nil)
     3         NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"object",@"key",@"object2",@"key2", nil];
     4         NSDictionary *dic1 = @{@"key1":@"object1",@"key2":@"object2",@"key3":@"object3",@"key4":@"object4"};
     5         NSLog(@"%@",[dic objectForKey:@"key"]);
     6         NSLog(@"%@",dic1[@"key2"]);
     7 //        dic.allKeys可以取出dic中所有的key值;
     8         NSLog(@"%@",dic1.allKeys);
     9         for(NSString *key in dic1.allKeys){
    10             NSLog(@"%@",[dic1 objectForKey: key]);
    11         }
    12 #pragma mark *****************************可变字典********************************
    13 //        可变字典:可以删除、替换(添加)
    14 //        NSMutableDictionary 可变字典的类名
    15         NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];//初始化了一个空字典
    16         [dictionary setObject:@"iphone " forKey:@"phone"];
    17         
    18         [dictionary setObject:@"htc" forKey:@"phone"];
    19         NSLog(@"%@",dictionary);
    20         [dictionary removeObjectForKey:@"phone"];
    21         NSLog(@"%@",dictionary);
    22 //        不可以这种方式初始化NSMutableDictionary *dictionary =@{@"key1":@"object1",@"key2":@"object2"};
    23 #pragma mark **************************字典之间的嵌套******************************
    24 //        不可变数组
    25         NSDictionary *date = @{@"id":@"110119",@"nick":@"小花",@"header":@"www.baidu.headeerImage.png",@"balance":@"100",};
    26         NSDictionary *dictionary1 = @{@"code":@"200",@"data":date};
    27         NSLog(@"%@",dictionary1);
    28 //      可变数组
    29         NSMutableDictionary *dict = [NSMutableDictionary dictionary];
    30         [dict setObject:@(200) forKey:@"code"];
    31         [dict setObject:date forKey:@"data"];
    32         
    33         NSLog(@"%@",dict);
    34         NSMutableDictionary *dict1 = [dict[@"data"] mutableCopy];
    35         [dict1 setObject:@"www.baidu.taobao.Image.png" forKey:@"header"];
    36         NSLog(@"%@",dict1);
    37 //        输出呢称
    38         NSLog(@"呢称是:%@",dictionary1[@"data"][@"nick"]);
    39         
    40 //        判断code值是不是200,如果code的返回值是200 输出data字典里面的所有内容,如果不是200输出返回数据失败
    41         switch ([dict[@"code"] integerValue]) {
    42             case 200:{
    43                 NSLog(@"登陆成功");
    44                 NSDictionary *userInfo = dict[@"data"];
    45                 NSLog(@"呢称是%@",userInfo[@"nick"]);
    46             }
    47                 break;
    48             case 300:
    49                 NSLog(@"返回数据失败");
    50                 break;
    51             case 310:
    52                 NSLog(@"用户失效");
    53                 break;
    54             default:
    55                 NSLog(@"未知错误");
    56                 break;
    57         }
    58 //        
    59       
    60         
    61         
    62         NSMutableDictionary *liuDic0 = [NSMutableDictionary dictionary];
    63         [liuDic0 setObject:@(200) forKey:@"code"];
    64         NSDictionary *liuData0 = @{@"id":@"LiYongJun250",@"name":@"LiYongJun250",@"phone":@"15761672937",@"balance":@"1000.10",@"msgnum":@"20"};
    65         [liuDic0 setValue:liuData0 forKey:@"data"];
    66         
    67         NSMutableDictionary *liuDic1 = [NSMutableDictionary dictionary];
    68         [liuDic1 setObject:@(200) forKey:@"code"];
    69         
    70         NSDictionary *liuData1 = @{@"version":@"1.0.1",@"desc":@"LiYongJun250",@"url":@"www.baidu.LiYongJun250.com"};
    71         [liuDic1 setObject:liuData1 forKey:@"data"];
    72         NSInteger phoneNum = [liuDic0[@"data"][@"phone"] integerValue];
    73         NSLog(@"手机号是:%ld",phoneNum);
    74         NSLog(@"下载地址是:%@",liuDic1[@"data"][@"url"]);
    75         
    76         
    77 #pragma mark **************************字典与数组之间的嵌套******************************
    78         
    79         NSArray *arr = @[liuData0,@(111),@(2222),@(33333)];
    80         NSLog(@"%@",arr);
    81         NSDictionary *dicti = arr[0];
    82         NSLog(@"%@",dicti);
    83         

    执行结果:

    2015-06-24 19:45:28.258 OC-NO-4-可变数组[806:83680] object

    2015-06-24 19:45:28.259 OC-NO-4-可变数组[806:83680] object2

    2015-06-24 19:45:28.260 OC-NO-4-可变数组[806:83680] (

        key3,

        key1,

        key4,

        key2

    )

    2015-06-24 19:45:28.260 OC-NO-4-可变数组[806:83680] object3

    2015-06-24 19:45:28.260 OC-NO-4-可变数组[806:83680] object1

    2015-06-24 19:45:28.260 OC-NO-4-可变数组[806:83680] object4

    2015-06-24 19:45:28.260 OC-NO-4-可变数组[806:83680] object2

    2015-06-24 19:45:28.260 OC-NO-4-可变数组[806:83680] {

        phone = htc;

    }

    2015-06-24 19:45:28.260 OC-NO-4-可变数组[806:83680] {

    }

    2015-06-24 19:45:28.261 OC-NO-4-可变数组[806:83680] {

        code = 200;

        data =     {

            balance = 100;

            header = "www.baidu.headeerImage.png";

            id = 110119;

            nick = "U5c0fU82b1";

        };

    }

    2015-06-24 19:45:28.261 OC-NO-4-可变数组[806:83680] {

        code = 200;

        data =     {

            balance = 100;

            header = "www.baidu.headeerImage.png";

            id = 110119;

            nick = "U5c0fU82b1";

        };

    }

    2015-06-24 19:45:28.261 OC-NO-4-可变数组[806:83680] {

        balance = 100;

        header = "www.baidu.taobao.Image.png";

        id = 110119;

        nick = "U5c0fU82b1";

    }

    2015-06-24 19:45:28.299 OC-NO-4-可变数组[806:83680] 呢称是:小花

    2015-06-24 19:45:28.299 OC-NO-4-可变数组[806:83680] 登陆成功

    2015-06-24 19:45:28.300 OC-NO-4-可变数组[806:83680] 呢称是小花

    2015-06-24 19:45:28.300 OC-NO-4-可变数组[806:83680] 手机号是:15761672937

    2015-06-24 19:45:28.300 OC-NO-4-可变数组[806:83680] 下载地址是:www.baidu.LiYongJun250.com

    2015-06-24 19:45:28.301 OC-NO-4-可变数组[806:83680] (

            {

            balance = "1000.10";

            id = LiYongJun250;

            msgnum = 20;

            name = LiYongJun250;

            phone = 15761672937;

        },

        111,

        2222,

        33333

    )

    2015-06-24 19:45:28.301 OC-NO-4-可变数组[806:83680] {

        balance = "1000.10";

        id = LiYongJun250;

        msgnum = 20;

        name = LiYongJun250;

        phone = 15761672937;

    }

    为了更好点交流和学习,请大家在参阅博客后,留下你的疑问和宝贵意见。谢谢!!!!
  • 相关阅读:
    .NET的委托和匿名函数应用一例
    C#中,变量前的@符号
    ExtJs中多个form情况下指定某个form使能
    【Python web 开发】个人中心-用户收藏功能
    【Python web 开发】用户个人信息修改
    【Python web 开发】django rest framwork 动态设置serializers
    【Python web 开发】django rest framwork动态设置权限premission
    【fiddler】用fiddler 拦截请求修改response 回包测试
    【Python web 开发】联合唯一索引
    【Python web 开发】用户收藏功能
  • 原文地址:https://www.cnblogs.com/fshmjl/p/4581940.html
Copyright © 2011-2022 走看看