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){

             NSLog(@"%@",[dic1 objectForKey: key]);

         }

 #pragma mark *****************************可变字典********************************

 //        可变字典:可以删除、替换(添加)

 //        NSMutableDictionary 可变字典的类名

         NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];//初始化了一个空字典

         [dictionary setObject:@"iphone " forKey:@"phone"];

         

         [dictionary setObject:@"htc" forKey:@"phone"];

         NSLog(@"%@",dictionary);

         [dictionary removeObjectForKey:@"phone"];

         NSLog(@"%@",dictionary);

 //        不可以这种方式初始化NSMutableDictionary *dictionary =@{@"key1":@"object1",@"key2":@"object2"};

 #pragma mark **************************字典之间的嵌套******************************

 //        不可变数组

         NSDictionary *date = @{@"id":@"",@"nick":@"小花",@"header":@"www.baidu.headeerImage.png",@"balance":@"",};

         NSDictionary *dictionary1 = @{@"code":@"",@"data":date};

         NSLog(@"%@",dictionary1);

 //      可变数组

         NSMutableDictionary *dict = [NSMutableDictionary dictionary];

         [dict setObject:@() forKey:@"code"];

         [dict setObject:date forKey:@"data"];

         

         NSLog(@"%@",dict);

         NSMutableDictionary *dict1 = [dict[@"data"] mutableCopy];

         [dict1 setObject:@"www.baidu.taobao.Image.png" forKey:@"header"];

         NSLog(@"%@",dict1);

 //        输出呢称

         NSLog(@"呢称是:%@",dictionary1[@"data"][@"nick"]);

         

 //        判断code值是不是200,如果code的返回值是200 输出data字典里面的所有内容,如果不是200输出返回数据失败

         switch ([dict[@"code"] integerValue]) {

             case :{

                 NSLog(@"登陆成功");

                 NSDictionary *userInfo = dict[@"data"];

                 NSLog(@"呢称是%@",userInfo[@"nick"]);

             }

                 break;

             case :

                 NSLog(@"返回数据失败");

                 break;

             case :

                 NSLog(@"用户失效");

                 break;

             default:

                 NSLog(@"未知错误");

                 break;

         }

 //        

       

         

         

         NSMutableDictionary *liuDic0 = [NSMutableDictionary dictionary];

         [liuDic0 setObject:@() forKey:@"code"];

         NSDictionary *liuData0 = @{@"id":@"LiYongJun250",@"name":@"LiYongJun250",@"phone":@"",@"balance":@"1000.10",@"msgnum":@""};

         [liuDic0 setValue:liuData0 forKey:@"data"];

         

         NSMutableDictionary *liuDic1 = [NSMutableDictionary dictionary];

         [liuDic1 setObject:@() forKey:@"code"];

         

         NSDictionary *liuData1 = @{@"version":@"1.0.1",@"desc":@"LiYongJun250",@"url":@"www.baidu.LiYongJun250.com"};

         [liuDic1 setObject:liuData1 forKey:@"data"];

         NSInteger phoneNum = [liuDic0[@"data"][@"phone"] integerValue];

         NSLog(@"手机号是:%ld",phoneNum);

         NSLog(@"下载地址是:%@",liuDic1[@"data"][@"url"]);

         

         

 #pragma mark **************************字典与数组之间的嵌套******************************

         

         NSArray *arr = @[liuData0,@(),@(),@()];

         NSLog(@"%@",arr);

         NSDictionary *dicti = arr[];

         NSLog(@"%@",dicti);

         
执行结果:
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 = "\U5c0f\U82b1";
    };
}
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 = "\U5c0f\U82b1";
    };
}
2015-06-24 19:45:28.261 OC-NO-4-可变数组[806:83680] {
    balance = 100;
    header = "www.baidu.taobao.Image.png";
    id = 110119;
    nick = "\U5c0f\U82b1";
}
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;
}
 


objective-c可变字典的更多相关文章

  1. OC中NSDictionary(字典)、NSMutableDictionary(可变字典)、NSSet(集合)、NSMutableSet(可变集合)得常用方法

    字典用于保存具有映射关系数据的集合 一个key—value对认为是一个条目(entry),字典是存储key—value对的容器 与数组不同,字典靠key存取元素 key不能重复,value必须是对象 ...

  2. 可变字典 NSMutableDictionary

    存到nsuesrDefault里面一个可变字典,然后用一个可变字典去接收. NSMutableDictionary *dic = [[NSUserDefaults standardUserDefaul ...

  3. OC基础 可变字典与不可变字典的使用

    OC基础 可变字典与不可变字典的使用 1.不可变字典 1.1创建不可变字典 //创建字典 //注意: //1,元素个数是偶数 //2,每两个元素是一个键值对 //3,值在前,键在后 NSDiction ...

  4. Objective-C 字典、可变字典

    字典相当于c++ stl中的map 字典NSDictionary #import <UIKit/UIKit.h> #import "AppDelegate.h" int ...

  5. iosOC不可变字典和可变字典

    //key 和 value 都属于(id)对象类型 //key常用字符串NSString来表示 //存储数值型 一般可用 NSString //int  age ->@(age) //  [di ...

  6. iOS 多线程安全 与 可变字典

    这周最大的收获是稍稍通透了 多线程安全字典的重要性.  诱因是,发现了有字典坏地址错误      果断以为是 value 或者 key 是可能出现了空值,补充了潜在的判断,虽然有的位置已经预判断的,但 ...

  7. NSDictionary字典创建,获取,遍历,可变字典的删除 - iOS

    字典是以键值对的形式来存储数据 key value 1 NSDictionary 字典 1.1 创建字典,不可变的 NSDictionary * dic = [NSDictionary diction ...

  8. python 不可变字典 inmutabledict的实现

    python inmutabledict的实现 关于在python中如何实现不可变字典的方法.早在pep416中,就建议python官方实现inmutabledict,但是官方否认了.理由主要是 根据 ...

  9. oc75--不可变字典NSDictionary

    // // main.m // NSDictionary // // #import <Foundation/Foundation.h> int main(int argc, const ...

随机推荐

  1. 【C语言入门教程】2.2 常量 与 变量

    2.2 常量 与 变量 顾名思义,常量是运算中不能改变数值的数据类型,变量是可改变数值的数据类型.根据需要,可将一些在程序中不必改变数值的类型定义为常量,这样也可避免因修改数值造成程序错误.任何改变常 ...

  2. PPPoE名词解释

    PPPoE拔号的发现阶段(Discovery): PPPoE的发现阶段一共分为4步. 分别是: PADI(PPPoE Active Discovery Initiation) PADO(PPPoE A ...

  3. Javascript高级程序设计——垃圾收集

    javascipt具有自动垃圾回收机制 局部变量只在函数执行过程中存在,在这个过程中,会为局部变量在栈上(或堆)内存分配相应空间,来储存他们的值,当函数执行完,局部变量就没有存在的必要了,所以这个时候 ...

  4. 解决Button设置disabled后无法执行后台代码问题

    一.开始调式下面的程序,发现Button在js中设置disabled后无法执行后台代码(btnsave_Click)问题 <asp:Button ID="btnsave" r ...

  5. Unity手游之路<十一>资源打包Assetbundle

    http://blog.csdn.net/janeky/article/details/17652021 在手游的运营过程中,更新资源是比不可少的.资源管理第一步是资源打包.传统的打包可以将所有物件制 ...

  6. (苹果AppleWWDRCA.cer证书过期)Failed to locate or generate matching signing assets

    从2月14号开始,上传AppStore会碰到:Failed to locate or generate matching signing assets 字数462 阅读13571 评论16 喜欢61 ...

  7. leetcode 102. Binary Tree Level Order Traversal

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...

  8. Android学习笔记(十六)——数据库操作(上)

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! Android 为了让我们能够更加方便地管理数据库,专门提供了一个 SQLiteOpenHelper帮助类, ...

  9. git 教程(9)-远程仓库

    到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了. 可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早就有了,没看出Gi ...

  10. Java WebClient 总结

    private WebClient getAWebClient() { WebClient webClient = new WebClient(BrowserVersion.FIREFOX_24); ...