OC中字典基本概念和经常使用方法(NSDictionary和NSMutableDictionary)

一:字典的基本概念数组

Foundation中的字典(NSDictionary和NSMutableDictionary)是由键(key)和值(value)组成的数值集合,就像咱们查字典同样,经过键(key)来查找到值(value)。spa

key值一般是字符串对象,也能够是任意其余类型的对象,在一个字典对象中,key值必须是惟一的。对象

此外字典的键和值不能为空(nil),若是想在字典中加入一个空值,能够引入NSNull对象。rem

注意:①字典的对象储存是没有顺序的。                                                                                                        字符串

           ②NSMutableDictionary是NSDictionary的子类,能使用其全部方法。                                             it

           ③NSMutableDictionary是NSDictionary的可修改版                                                                          io

          ④ 字典的值(value)能够是任何类型的对象                                                                                        table

 //例如:字典的值(value)能够是数组object

        NSArray *arr=@[@"1",@"2"];遍历

        NSDictionary*dict=@{

                            @"name"   :@"Peter",

                            @"age"      :@"18",

                            @"subject" :arr                            };

二:不可变字典(NSDictionary

①字典的初始化

      //---简便方式

        NSDictionary *dict=@{

                             @"name":@"Peter",

                             @"age":@"18"

                             };

    //---dictionaryWithObjectsAndKeys

        NSDictionary*dict=[NSDictionary

        dictionaryWithObjectsAndKeys:@"Peter",@"name",@"18",@"age", nil]; 

   //---dictionaryWithObjects--forKeys

        NSDictionary *dict=[NSDictionary dictionaryWithObjects:@[@"Peter",@"18"] forKeys:@[@"name",@"age"] ];

②字典的经常使用方法

  • 输出字典key值对应的value值

  //---objectForKey

        NSLog(@"name--%@",[dict objectForKey:@"name"]);

 //[objectForKey:@"name"]等价于dict[@"name"]

        NSLog(@"name--%@",dict[@"name"]);

  • 字典的遍历

//获取全部的key

        [dict allKeys];

  //遍历

        for (NSString*key in dict.allKeys) {

            NSLog(@"%@:%@",key,dict[key]);

        }

 

三:可变字典(NSMutableDictionary

①初始化:不可变字典的初始化方法可变字典均可以使用

 //建立空字典

        NSMutableDictionary*dict=[NSMutableDictionary dictionary];

②不可变字典转换成可变字典

 //---mutableCopy

        NSMutableDictionary*dict1=[dict mutableCopy];

 //---NSMutableDictionary dictionaryWithDictionary

        NSMutableDictionary*dict2=[NSMutableDictionary dictionaryWithDictionary:dict];

③增长,删除,修改字典的对象

 //增长对象

        [dict setObject:@"Peter" forKey:@"name"];

        //等价于

        dict[@"name"]=@"Peter";

//name存在则修改它的值,不存在就添加一个新的对象

 

//删除对象

        [dict removeObjectForKey:@"name"];

        //全删

        [dict removeAllObjects];

 

//修改对象

[dict setObject:@"Peter" forKey:@"name"];

        //等价于

        dict[@"name"]=@"Peter";

相关文章
相关标签/搜索