NSDictionary和NSMutableDictionary

NSDictionary不可變字典

字典中的數(shù)據(jù)都是無序的;

初始化

NSDictionary *D1 = [[NSDictionary alloc] initWithObjectsAndKeys:@"zhangsan",@"name",@"20",@"age",nil];
//按一個值,一個鍵的順序排列;
NSDictionary *D2 = [NSDictionary dictionaryWithObjectsAndKeys:@"zhangsi",@"name",@"30",@"age",nil];
//便利構(gòu)造器;
NSDictionary *D3 = [[NSDictionary alloc] initWithObjects:@[@"wang",@"20"] forKeys:@[@"name",@"age"]];
//鍵值一一對應(yīng);
NSDictionary *D4 = [NSDictionary dictionaryWithOjects:@[@"zhao",@"12"] forKeys:@[@"name",@"age"]];
//相應(yīng)的便利構(gòu)造器;
字面量
NSDictionary *D5 = @{@"name":@"zhou",@"age":@"20"};
//鍵在值前,用':'連接,不同鍵值對間用','連接;

獲取所有Key

NSLog(@"%@",[D5 allKeys]);//allKeys 方法返回值是一個數(shù)組

獲取所有值

NSLog(@"%@",[D5 allValues]);//allValues 方法返回值是一個數(shù)組

NSMutableDictionary可變字典

初始化

NSMutableDictionary *D6 = [@{@"name":@"laowang",@"age":@77,@"sex":@"m",@"height":@175} mutableCopy];
//先設(shè)置字面量,在通過mutableCopay方法生成可變字典;

設(shè)置鍵值對

[D6 setObject:@"zhaosi" forKey:@"name"];
//如果有鍵就修改,如果沒這個鍵就添加;
[D6 addEntriesFromDictionary:D5];
//將D5中的鍵值對復(fù)制到D6中,如果D6中已經(jīng)存在某鍵,則D5的鍵值對將會覆蓋D6原有的;
[D6 setDictionary:D5];
//將D6變成D5;

刪除鍵值對

[D6 removeObjectForKey:@"name"];
[D6 removeObjectsForKeys@[@"sex",@"age"];
//刪除一組Key對應(yīng)的鍵值對;
[D6 removeAllObjects];
//刪除所有鍵值對;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容