• 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;
    }
  • 相关阅读:
    计算机的基本存储单位
    挖坑
    HEOI2017 游记
    bzoj4815 [Cqoi2017]小Q的表格
    bzoj4817 [Sdoi2017]树点涂色
    hdu5824 graph
    4.5&4.7联考题解
    高飞
    无题
    51Nod 算法马拉松23 开黑记
  • 原文地址:https://www.cnblogs.com/yaowen/p/7441052.html
Copyright © 2020-2023  润新知