Foundation-02字典NSDictionary 和NSMultableDictionary

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,不須要用戶去管理內存

相關文章
相關標籤/搜索