objective-c 中NSDictionary的使用

NSDictionary类似Java中的Map,内部存储key-value对,key的类型是NSString,value可以是任意对象类型指针。键值和数据必须不为nil,如果想表示一个空的值,则用NSNull。字典本身是不可以更改的。NSMutableDictionary 是可更改的字典。
下面例子是网上流传的,写的很细

        NSArray *array1 = [NSArray arrayWithObjects:@"iphone",@"ipod",nil];
        NSArray *array2 = [NSArray arrayWithObjects:@"mac",@"imac",@"mac pro",nil];
        1、创建字典 ,类方法初始化自动释放
        NSDictionary *myDictionary = [NSDictionarydictionaryWithObjectsAndKeys:array1,@"mobile",array2,@"computers",nil];//注意用nil结束
        NSLog(@”myDictionary = %@”,myDictionary);
        //得到key-value的个数
        int dictSize = [myDictionary count];
        //根据key找到字典中的值
        NSArray *mobile = [myDictionary objectForKey:@"mobile"];
        //得到所有key
        NSArray *keys = [myDictionary allKeysForObject:array1];
        //得到所有value
        NSArray *values = [myDictionary allValues];
        //快速枚举
        for(id key in myDictionary)
        {
            NSLog(@”key: %@,value: %@”,key,[myDictionary objectForKey:key]);
        }
        //如果字典只包含属性列表对象(NSData,NSDate,NSNumber,NSString,NSArray或NSDictionary)可以保存到文件中
        NSString *filePath = [[[NSBundlemainBundle]resourcePath]stringByAppendingPathComponent:@”dict.txt”];
        BOOL success = [myDictionary writeToFile:filePath atomically:YES];
        //用文件填充
        NSDictionary *myDict2 =[NSDictionary dictionaryWithContentsOfFile:filePath];
        
        //可变字典
        NSMutableDictionary *dictMutable = [[NSMutableDictionaryalloc]initWithObjectsAndKeys:array1,@”mobile”,array2,@”computer”, nil];
        NSString *string4 = @”stringTV”;
        //修改对象
        [dictMutable setObject:string4 forKey:@"media"];
        //删除对象
        [dictMutable removeObjectForKey:@"mobile"];
        //删除多个对象
        NSArray *keyArray =[NSArray arrayWithObjects:@"mobile",@"computer", nil];
        [dictMutable removeObjectForKey:keyArray];
        //删除所有对象

        [dictMutable removeAllObjects];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值