zoukankan      html  css  js  c++  java
  • oc76--NSMutableDictionary

    //
    //  main.m
    //  NSMutableDictionary
    //  NSDictionary不可变,初始化后就不可以修改,NSMutableDictionary可变,初始化后可以改变。
    //
    
    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[]) {
    
        // 1.创建一个空的字典
        NSMutableDictionary *dictM = [NSMutableDictionary  dictionary];
        NSLog(@"%@", dictM);// {}
        // 2.如何添加
        [dictM setObject:@"lnj" forKey:@"name"];
        NSLog(@"%@", dictM);// {name = lnj;}
        // 会将传入字典中所有的键值对取出来添加到dictM中
        [dictM setValuesForKeysWithDictionary:@{@"age":@"30", @"height":@"1.75"}];
        NSLog(@"%@", dictM);// {age = 30;height = "1.75";name = lnj;}
    
        // 3.如何获取
        NSLog(@"name = %@", dictM[@"name"]);//lnj
        
        // 4.如何删除
        [dictM removeObjectForKey:@"name"];
        NSLog(@"%@", dictM);//{age = 30;height = "1.75";}
        [dictM removeObjectsForKeys:@[@"age", @"height"]];
         NSLog(@"%@", dictM);//{}
        // 5.如何修改
        // 如果利用setObject方法给同名的key赋值, 那么新值会覆盖旧值
        [dictM setObject:@"88" forKey:@"age"];
        dictM[@"age1"] = @"881";
        NSLog(@"%@", dictM);//{age = 88;age1 = 881;}
        
        
        // 1.不能使用@{}来创建一个可变的字典
        NSMutableDictionary *dictM = @{@"name":@"lnj"}; //报错
        [dictM setObject:@"30" forKey:@"age"];
        
        
        // 2.如果是不可变数组, 那么key不能相同
        // 如果是不可变字典出现了同名的key, 那么后面的key对应的值丢弃。
        // 如果是在可变字典中, 后面的会覆盖前面的
        NSDictionary *dict = @{@"name":@"lmj", @"name":@"lnj"};
        NSLog(@"dict = %@", dict);//{name = lmj;}
        
        NSMutableDictionary *dictM1 = [NSMutableDictionary dictionaryWithObjects:@[@"lmj", @"lnj"] forKeys:@[@"name", @"name"]];//{name = lnj;}
        NSLog(@"dict = %@", dictM1);
        
        return 0;
    }
  • 相关阅读:
    实现AB值对换的两种方法
    Spring文件上传Demo
    CentOS 查看系统 CPU 个数、核心数、线程数
    InvocationTargetException异常
    在 Excel 中设置图片
    JavaScript写入文件到本地
    Semaphore初探
    MySQL连接服务端的几种方式
    超链接导致window.location.href失效的解决办法
    在 CentOS7 上安装 swftools
  • 原文地址:https://www.cnblogs.com/yaowen/p/7441052.html
Copyright © 2011-2022 走看看