iOS开发中NSDictionary操作大全

OC中字典的操作大全,赶紧收藏吧

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        /**
         *  字典的创建
         */
        //alloc创建字典
        NSArray *array = [NSArray arrayWithObjects:@"welcome",@"to",@"beijing",nil];
        NSNumber *number = [NSNumber numberWithFloat:200];
        NSDictionary *dic1 = [[NSDictionary alloc]initWithObjectsAndKeys:array,@"name1",numb<span style="white-space:pre">	</span>er,@"score",@"vlalue",@"key", nil];
        //类方法创建字典
        NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys: array,@"name2",numb<span style="white-space:pre">	</span>er,@"score2",@"vlaue2",@"key2",nil];
        //打印的调用方法,可省略直接打印
        NSLog(@"%@",[dic1 description]);
        NSLog(@"%@",dic2);
        /**
         *  字典的常用方法
         */
        //1.字典中的元素个数
        NSUInteger count = [dic1 count];
        NSLog(@"%lu",count);
        //2.访问字典中的元素
        NSArray *arr = [dic1 objectForKeyedSubscript:@"name1"];
        //NSLog(@"%@",arr);
        //3.获取到所有的key
        NSArray *keys = [dic2 allKeys];
        //NSLog(@"%@",keys);
        //4.获取到所有的value
        NSArray *value = [dic1 allValues];
        //NSLog(@"%@",value);
        [dic1 objectForKey:@"key"];
        
        /**
         *  xcode4.4以后对字典创建和访问的优化
         */
        //1.创建字典
        NSDictionary *dic = @{@"names":array,@"scores":number,@"xcode4.4":@"创建字典"};
        //2.通过key可以获取value
        NSNumber *num = dic[@"scores"];
         NSLog(@"%@",num);
        /**
         *  可变字符串
         */
        //1.创建可变字符串
        NSArray *marray = [NSArray arrayWithObjects:@"this",@"is",@"book",nil];
        NSMutableDictionary *mdic = [[NSMutableDictionary alloc]initWithObjectsAndKeys:marra<span style="white-space:pre">	</span>y,@"this",@"hello",@"world", nil];
                 NSLog(@"%@",mdic);
        //2.向字典中添加元素,保持key不变,只改变value则可以替换原有的值
        NSNumber *mnumber = [NSNumber numberWithFloat:100];
        NSString *user = @"785304434@qq.com";
        [mdic setObject:mnumber forKey:@"key"];
        [mdic setObject:user forKey:@"email"];
        //3.删除元素
        //根据key,移除元素
        [mdic removeObjectForKey:@"name"];
        //移除所有的元素
        [mdic removeAllObjects];
        NSLog(@"%@",mdic);
        /**
         *  遍历字典
         */
        //1.快速遍历
        for (id keys in dic2) {
            id value = [dic2 objectForKeyedSubscript:keys];
            NSLog(@"key:%@,value:%@",keys,value);
        }
        //2.常规遍历
        NSArray *keys1 = [dic1 allKeys];
        for (int i = 0; i < [keys1 count]; i++) {
            id key1 = [keys1 objectAtIndexedSubscript:i];
            id value1 = [dic1 objectForKey:key1];
            NSLog(@"key:%@,value:%@",key1,value1);
        }
    }
    return 0;
}

输出结果如下:




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值