OC中的可变字典

 可变字典 NSMutableDictionary

        初始化放啊

        1.创建一个空的字典

        NSMutableDictionary *mDictionary1 = [NSMutableDictionary dictionary];

        2.创建一个键值对的可变字典

        NSMutableDictionary *mDictionary2 = [NSMutableDictionary dictionaryWithObject:@"Rick" forKey:@"name"];

        3.创建一个有多个键值对的可变字典

        NSMutableDictionary *mDictionary3 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Rick",@"name",@25,@"age",@"GZ",@"address", nil];

        4.通过一个字典创建一个字典

        NSMutableDictionary *mDictionary4 = [NSMutableDictionary dictionaryWithDictionary:mDictionary3];

        5.使用快速枚举遍历字典

        for (NSString *key in [mDictionary4 allKeys]) {

            NSLog(@"%@ = %@",key,mDictionary4[key]);

         }

        6.使用枚举器遍历字典

        NSEnumerator *enumerator = [[mDictionary4 allKeys] objectEnumerator];

        NSString *keys;

        while (keys = [enumerator nextObject]) {

            NSLog(@"%@ = %@",keys,mDictionary4[keys]);

        }

        

        7.可变字典独有的初始化方法

        NSMutableDictionary *mDictionary5 = [NSMutableDictionary dictionaryWithCapacity:10];//创建了初始大小为10个键值对的可变字典,同样的,参数num 只是初始的大小,提高程序效率,并没有限制字典的大小,如果继续往里面添加数据,字典元素个数会继续增加。

        

        8.从本地读取字典

        NSMutableDictionary *mDictionary6 = [NSMutableDictionary dictionaryWithContentsOfFile:@""];

        

        9.从网络读取字典

        NSMutableDictionary *mDictionary7 = [NSMutableDictionary dictionaryWithContentsOfURL:[NSURL URLWithString:@""]];

        

        操作字典

        1.

        [mDictionary5 setValue:@"Rick" forKey:@"name"];

        [mDictionary5 setValue:@25 forKey:@"age"];

        

        2.(如果原来字典中有了key这个关键字,那么这次新增的值就会覆盖掉原来关键字()key对应的值)

        [mDictionary5 setValue:@"Jack" forKey:@"name"];

        

        3.新语法改

        mDictionary5[@"name"] = @"leo";

        

        4.删除指定key的对象

        [mDictionary5 removeObjectForKey:@"name"];

        

        5.删除所有对象

        [mDictionary5 removeAllObjects];

        

        NSLog(@"dic5 = %@",mDictionary5);

        

        例子

        NSMutableDictionary *mDictionary8 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Rick",@"name",@25,@"age",@"GZ",@"address",@"Rick",@"name2",@"Rick",@"name3", nil];

        for (NSString *key in [mDictionary8 allKeys]) {

            NSLog(@"%@ = %@",key,mDictionary8[key]);

        }

        NSMutableArray *mArray = [NSMutableArray array];

        NSArray *array1 = [mDictionary8 allKeys];

        NSArray *array2 = [mDictionary8 allValues];

        for (int i = 0; i<mDictionary8.count; i++) {

            if ([array2[i] isEqual:@"Rick"]) {

                [mArray addObject:array1[i]];

            }

        }

        NSLog(@"%@",mArray);

        

        NSArray *key8 = mDictionary8.allKeys;

        for (NSString *key in key8) {

            NSString *String = mDictionary8[key];

            if ([String isEqual:@"Rick"]) {

                NSLog(@"key = %@",key);

            }

        }

        

        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值