[Objective-C]OC中字典基本概念和常用方法(NSDictionary和NSMutableDictionary)
一:字典的基本概念
Foundation中的字典(NSDictionary,NSMutableDictionary)是由鍵-值對(duì)組成的數(shù)據(jù)集合.正如,我們?cè)谧值淅锊檎覇卧~的定義一樣.
通過key(鍵),查找的對(duì)應(yīng)的value(值),key通常是字符串對(duì)象,也可以是其他任意類型對(duì)象.在一個(gè)字典對(duì)象中,key的值必須是唯一的.
此外,字典對(duì)象的鍵和值不可以為空(nil),如果需要在字典中加入一個(gè)空值,可以加入NSNull對(duì)象
?
二:不可變字典-NSDictionary
1:初始化(以一個(gè)元素和多個(gè)元素進(jìn)行初始化):
//以一個(gè)鍵值對(duì)象 進(jìn)行初始化 NSDictionary *dict1=[NSDictionary dictionaryWithObject:numObj1 forKey:@"key1"]; NSLog(@"%@",dict1); //以多個(gè)元素進(jìn)行初始化 NSDictionary *dict2=[NSDictionary dictionaryWithObjectsAndKeys:numObj1, @"key1",numObj2,@"key2", nil]; NSLog(@"%@",dict2);2:獲取字典的數(shù)量
//獲取字典的數(shù)量 NSInteger count=[dict2 count]; NSLog(@"%ld",count);3:根據(jù)key獲取相應(yīng)的value對(duì)象
//根據(jù)key獲取相應(yīng)的value對(duì)象 NSString *value=[dict2 objectForKey:@"key1"]; NSLog(@"%@",value);4:把字典的key轉(zhuǎn)換成枚舉對(duì)象用于遍歷
NSEnumerator *enumerator=[dict2 keyEnumerator];5:獲取所有的key集合
//獲取所有的key集合 NSArray *keys= [dict2 allKeys]; NSLog(@"%@",keys);6:獲取所有的value集合
//獲取所有的value集合 NSArray *values=[dict2 allValues]; NSLog(@"%@",values);三:可變字典NSMutableDictionary繼承自NSDictionary
1:初始化字典
//初始化字典NSMutableDictionary *mutableDic=[[NSMutableDictionary alloc]initWith....2:向字典中添加指定的字典
//向一個(gè)字典中添加一個(gè)字典 NSDictionary *dict4=[NSDictionary dictionaryWithObject:@"v6" forKey:@"k6"]; [mutableDic addEntriesFromDictionary:dict4]; NSLog(@"%@",mutableDic);3:向字典中添加value和key
//向字典中添加value和key[mutableDic setValue:@"object" forKey:@"key"];4:創(chuàng)建空的字典,然后設(shè)置新的一個(gè)字典
//創(chuàng)建空的字典,然后設(shè)置新的一個(gè)字典,把會(huì)之前的字典全部覆蓋掉 NSMutableDictionary *mutableDict2=[NSMutableDictionary dictionary]; [mutableDict2 setDictionary:mutableDic]; NSLog(@"%@",mutableDict2);5:刪除指定key的value值
//移除指定key的value值 [mutableDict2 removeObjectForKey:@"k4"]; NSLog(@"%@",mutableDict2);6:刪除移除key集合的value值
//刪除一組key的value值 NSArray *arrayKeys=[NSArray arrayWithObjects:@"k1",@"k2",@"k3", nil]; [mutableDict2 removeObjectsForKeys:arrayKeys]; NSLog(@"%@",mutableDict2);7:刪除字典中所有的value
//刪除字典中所有的數(shù)據(jù) [mutableDict2 removeAllObjects]; NSLog(@"%@",mutableDict2);四:枚舉遍歷
1:一般遍歷
//一般遍歷 NSArray *allKeys=[mutableDic allKeys]; for (NSInteger i=0; i<[allKeys count]; i++) {NSString *obj=[mutableDic objectForKey:[allKeys objectAtIndex:i]];NSLog(@"%@",obj); }2:快速枚舉
//快速遍歷 for (id key in mutableDic) {NSString *object=[mutableDic objectForKey:key];NSLog(@"%@",object); }3:迭代器枚舉
//枚舉器NSEnumerator *enumerator1= [mutableDic keyEnumerator];id key=[enumerator1 nextObject];while (key) {id object=[mutableDic objectForKey:key];NSLog(@"%@",object);key=[enumerator1 nextObject];}?
?
轉(zhuǎn)載于:https://www.cnblogs.com/iflewless/p/3640707.html
總結(jié)
以上是生活随笔為你收集整理的[Objective-C]OC中字典基本概念和常用方法(NSDictionary和NSMutableDictionary)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RPM vs SRPM
- 下一篇: php使用第三方登录