NSMutableDictionary

1.字典的创建

 // 1.创建一个空的字典
    NSMutableDictionary *dictM = [NSMutableDictionary  dictionary];
    NSLog(@"%@", dictM);

2.添加元素

// 2.如何添加
    [dictM setObject:@"lnj" forKey:@"name"];
    NSLog(@"%@", dictM);
    // 会将传入字典中所有的键值对取出来添加到dictM中
    [dictM setValuesForKeysWithDictionary:@{@"age":@"30", @"height":@"1.75"}];
    NSLog(@"%@", dictM);

3.获取value

// 3.如何获取
    NSLog(@"name = %@", dictM[@"name"]);

4.删除元素

// 4.如何删除
    [dictM removeObjectForKey:@"name"];
    NSLog(@"%@", dictM);
    [dictM removeObjectsForKeys:@[@"age", @"height"]];
    NSLog(@"%@", dictM);

5.修改元素

// 如果利用setObject方法给同名的key赋值, 那么新值会覆盖旧值
     [dictM setObject:@"88" forKey:@"age"];
     dictM[@"age"] = @"88";
     NSLog(@"%@", dictM);

6.注意点

   // 1.不能使用@{}来创建一个可变的字典
    NSMutableDictionary *dictM = @{@"name":@"lnj"};
    [dictM setObject:@"30" forKey:@"age"];
    
    
    // 2.如果是不可变数组, 那么key不能相同
    // 如果是不可变字典出现了同名的key, 那么后面的key对应的值不会被保存
    // 如果是在可变字典中, 后面的会覆盖前面的
    NSDictionary *dict = @{@"name":@"lmj", @"name":@"lnj"};
    NSLog(@"dict = %@", dict);
    
    NSMutableDictionary *dictM = [NSMutableDictionary dictionaryWithObjects:@[@"lmj", @"lnj"] forKeys:@[@"name", @"name"]];
    NSLog(@"dict = %@", dictM);

你可能感兴趣的:(NSMutableDictionary)