1:NSDictionary因爲是不可變的,因此通常會在建立的時候加入數據,通常有兩種方式:一種類方法,一種對象方法數組
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys: @"Mike", @"name", @"BeiJing", @"address", nil];
NSDictionary *dict=[[NSDictionary alloc]initWithObjectsAndKeys:obj,key,obj2,key2];
鍵值對一一對應,能夠有一樣的值,不容許有一樣的key,有個對象方法[dict count]表示鍵值對個數spa
有個類方法,能夠分開傳兩個數組,一個放鍵,一個放值,一一對應[NSDictionary dictionaryWithObjects:NSArray* forkeys:NSArray]code
字典的元素訪問都是經過key訪問值:對象
遍歷字典:1:快速遍歷法blog
for (id key in dict) { id obj=[dict objectForKey:key]; }
2:經過block繼承
[dict enumerateKeysAndObjectsUsingBlock:^(id key,id obj,BOOL *stop) { NSLog(@"%@==%@",key,obj); }
]
*stop是用來中止遍歷的 ,經過*stop=YES內存
2:NSMultableDictionaryrem
做爲 NSDictionary的子類,繼承了父類的全部方法,因爲multable是可變的,因此能夠不用建立的時候就插入數據it
能夠經過[dict setObject:@"mike" forkey:@"name"];添加數據,也能夠經過[dict removeObjectForKey:]來移除數據內存管理
3:字典的內存管理
往字典中插入OC對象,OC對象計數器就會加1,在字典銷燬或者,移除數據的時候就會-1,不須要用戶去管理內存