第08天OC语言(09):NSMutableDictionary

  • 不要等到明天,明天太遥远,今天就行动。

#####须读:看完该文章你能做什么?

#####学习前:你必须会什么?(在这里我已经默认你具备C语言的基础了)

适合所有人,不需要懂的什么 ######注:(小白直接上手)


#####一、本章笔记

 一、可变字典
    1.创建
        + (instancetype)dictionary;
    2.添加
    - (void)setObject:(ObjectType)anObject forKey:(KeyType <NSCopying>)aKey;

#####二、code ######main.m

#pragma mark 09-NSMutableDictionary

#pragma mark - 代码
#import <Foundation/Foundation.h>
#pragma mark 类

#pragma mark - main函数
int main(int argc, const char * argv[])
{
#pragma 1.创建一个空的字典
    NSMutableDictionary *dictM = [NSMutableDictionary dictionary];
    NSLog(@"%@",dictM);
#pragma 2.添加
    [dictM setObject:@"lyh" forKey:@"name"];
    NSLog(@"%@",dictM);
    // 会将传入字典中 所有的键值对 取出来 添加到dictM中
    [dictM setValuesForKeysWithDictionary:@{@"age":@"25",@"height":@"171.1"}];
    NSLog(@"%@",dictM);
#pragma 3.获取
    NSLog(@"name = %@",dictM[@"name"]);
#pragma 4.删除
    [dictM removeObjectForKey:@"name"];
    NSLog(@"%@",dictM);
//    [dictM removeObjectsForKeys:@[@"age",@"height"]];
//    NSLog(@"%@",dictM);
#pragma 5.修改
    // 如果利用 setObject 方法同名的key赋值, 那么新值会覆盖旧值
    [dictM setObject:@"22" forKey:@"age"];
        NSLog(@"%@",dictM);
    
#warning 注意点
    // 1.不能使用@{}来创建一个可变的字典
//    NSMutableDictionary *dictM2 = @{@"name":@"lyh"};
//    [dictM2 setObject:@"30" forKey:@"age"];
    
    // 2.如果是不可变数组 , 那么key不能相同
    // 如果是不可变字典出现同名的key, 那么后面的key对应的值 不会被保存
    // 如果是在可变数组中, 后面的会覆盖前面的
    NSDictionary *dict = @{@"name":@"lyh",@"name":@"hxm"};
    NSLog(@"dict = %@",dict);
    
    NSMutableDictionary *dictM2 = [NSMutableDictionary dictionaryWithObjects:@[@"lyh",@"hxm"] forKeys:@[@"name",@"name"]];
    NSLog(@"dictM2 = %@",dictM2);

    return 0;
}

转载于:https://my.oschina.net/u/3561184/blog/1477267

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值