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

    字典的定义以及使用

    不可变字典

    1.在字典里 键 和 值是成对出现的    字典是通过键(Key)来存取值的且每一个值对应的Key是唯一的   字典的类名是NSDictionary

    2.字典的定义

       (1)初始化一个空字典

           NSDictionary *dic = [[NSDictionary alloc] init];

           NSDictionary *dic1 = [NSDictionary dictionary];

          (2)初始化的同时添加一对键值  这种定义方式是前面是值(id)  后面是键

           NSDictionary *dic2 = [NSDictionary dictionaryWithObject:@“object” forKey:@“key”];

          (3)初始化的同时添加多对值  (前面是值 (id) 后面是键(字符串))

           NSDictionary *dic3 = [NSDictionary dictionaryWithObjectsAndKeys:@“object1”,@“key1”,@“object2”,@“key2”,- - -,nil];

          (4)字典初始化的新方法   (前面是键  后面是值(id))

            NSDictionary *dic4 = @{@“key”,@“object”,@“key1”,@“object1”,- -  -};

             取值方式:字典名[@“key”];

        (5)字典的取值是通过 objectForKey来取值的

                  形式是: [字典名  objectForKey:@“key”];

        例如:NSDictionary *dic5 = @{@"key":@"值", @"key1":@"值1"};

             NSString *string = [dic5 objectForKey:@"key"];

      (6)另一种取值方式  字典名[@“key”]。

         NSString *string1 = dic5[@"key1"];

    可变字典

    1.可变字典的初始化方式和不可变的是一样的 就是将NSDictionary 换成    

         NSMutableDictionary就可以了      但可变字典没有初始化的新方法  

         即不能这样定义:

         NSMutableDictionary *dic = @{@“key”,@“object”,@“key1”,@“object”- - -};

     2.向可变字典里存入键值的方法是setObject:   它也可以用来改变Key的值 

              (1)向可变字典里存入键值的实现方法

                        形式:[字典名  setObject:@“值” forKey:@“key”];

          例如:NSMutableDictionary *dic3 = [NSMutableDictionary dictionary];

                  [dic3 setObject:@"大哥" forKey:@"name"];

               (2)  改变Key的值的实现方式是:Key不变去改变值

                          形式:[字典名  setObject1:@“值” forKey:@“key”];

           例如:[dic3 setObject:@"俊哥" forKey:@"name"];

       (3)通过key移除key对应的key和值。方法:removeObjectForKey:

            形式:[字典名  removeObjectForKey:@“key”];

            例如:[dic3  removeObjectForKey:@"name"];

    3.遍历一个字典

        //allkeys 会取出字典里面所有的key放到一个数组里面

        例如:NSDictionary *dic1 = @{@"obj": @"objects1", @"obj1":@"objects1"};

           NSArray *all = dic1.allKeys;

           for (NSString *key in all) {

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

              }

  • 相关阅读:
    WPF中鼠标左键单击Button弹出ContextMenu,让其右键ContextMenu失效
    如何实现在浏览器中打开IM聊天窗口? 转载
    WPF程序禁止win7窗口自动最大化
    从URL启动程序:也谈谈旺旺的页面启动转载
    混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下...转载
    如何让WrapPanel自动换行转载
    sqlserver2008权限怎么设置?
    如何修改远程桌面连接3389端口
    数据库轮询缓存依赖。
    SQL Server 查询性能优化——索引与SARG(一)(转载)
  • 原文地址:https://www.cnblogs.com/liYongJun0526/p/4854524.html
Copyright © 2011-2022 走看看