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";

相關文章
相關標籤/搜索