一:字典的基本概念數組
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"] ];
②字典的經常使用方法
//---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";