码迷,mamicode.com
首页 > 其他好文 > 详细

OC教程07-字典NSDictionary详解

时间:2015-06-04 17:07:59      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:oc字典详解   nsdictionary   

 字典是我们常见的数据类型,在Java中对应的是HashMap

         *  字典:又称键值对,通过一个key可以访问他的值
         *  分类:NSDictionary不可变字典,NSMutableDictionary可变字典
         *  备注:字典的key一般是 字符串,如  @"key"
         *  备注:字典的值,必须是对象,不能是C语言的基本类型
         *  备注:字典中的值也可以是字典,可以多级嵌套
         *  备注:字典元素的访问,可以直接通过下标的形式访问
         *  注意:字典中的键值对是无序的

//1.不可变字典的创建

      NSDictionary *dic = @{@"key1":@"value1",@"key2":@"value2"};
        NSDictionary *dic2 = @{@"key1":@"value3",@"key2":@"value4"};

 /**

         *  2.获取字典中元素的几种方法

         */

       id obj = dic[@"key1"];//拿到key1对应的值
	NSString *str1 = dic[@"key1"];//或者你知道他的值是NSString类型
   	NSString *str2 = [dic objectForKey:@"key1"];//通过方法获取key1值

        /**

         *  3.字典中包含字典

         */

 

        NSDictionary *dic3 = @{@"dic1":dic,@"dic2":dic2};
        NSString *str3 = dic3[@"dic1"][@"key1"];//多级字典的获取值得方法

    /**

         *  4.从数组中拿出字典

         *  从网络获取的数据很可能是数组,数组中存的可能是字典

         */

 NSArray *arr = @[dic,dic2];//模拟网络数据,可能有很多个
       for (NSDictionary *dd in arr)//使用快速枚举解析数组
        {
            NSLog(@"获取的字典是:%@",dd);
            NSString *str = dd[@"key1"];
            NSLog(@"从字典中拿出的字符串是%@",str);
        }

        /**

         *  5.字典所有的keyvalue的获得

         *  所有的keysvalues构成的是一个数组

         */    

 NSArray *allKeys = [dic allKeys];//获得字典的所有的键
        NSArray *allValues = [dic allValues];//获得字典中所有的值

  /**

         *  6.可变字典的用法

         *  NSMutableDictionary主要用于参数拼接

         */

   

NSMutableDictionary *dic4 = [NSMutableDictionary dictionaryWithCapacity:5];//字典的初始容量为5(不够时会自动给增大)
        [dic4 setObject:@"杨斌" forKey:@"name"];//向字典中添加键值对
        [dic4 setObject:@"男" forKey:@"sex"];
        [dic4 setObject:@"1770" forKey:@"phone"];
        NSLog(@"字典的内容是  %@",dic4);
 	[dic4 removeObjectForKey:@"name"];//移除  @"name"对应的值@"杨斌"
  	[dic4 removeAllObjects];//移除所有元素

     更多OC文章:http://blog.csdn.net/yangbingbinga   

        

        

OC教程07-字典NSDictionary详解

标签:oc字典详解   nsdictionary   

原文地址:http://blog.csdn.net/yangbingbinga/article/details/46363591

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!