字典与可变字典

字典的定义以及使用

不可变字典

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

          }

原文地址:https://www.cnblogs.com/liYongJun0526/p/4854524.html