• 字典与可变字典


    字典的定义以及使用

    不可变字典

    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]);

              }

  • 相关阅读:
    在 Students 的 Index 页面增加列标题链接(排序),分页,过滤和分组功能
    Contoso 大学
    如何搭建MVC + EF 框架
    EF与手写Model的区别以及联系
    報錯:One or more validation errors were detected during model generation:System.Data.Edm.EdmEntityType: : EntityType 'Movie' has no key
    Oracle四舍五入,向上取整,向下取整
    datagrid中设置编辑,删除列是否可以访问
    datagrid中设置编辑,删除列是否可以访问
    C#实现打印
    C#中rpt的数据类型和Oracle中数据类型的匹配
  • 原文地址:https://www.cnblogs.com/liYongJun0526/p/4854524.html
Copyright © 2020-2023  润新知