pragma mark NSMutableDictionary
pragma mark 概念
/**
概念: 《字典存儲的都是鍵值對 都是通過某個 鍵 找到 對應(yīng)的 值》
NSMutableDictionary
@"值":@"鍵"
@"lyh":@"name"
// 鍵值對 通過鍵(name) 找到 對應(yīng)的值(lyh)
1.創(chuàng)建 (dictionary)
2.添加 (setObject:值 forKey:鍵)
添加一個字典 (setValuesForKeysWithDictionary:字典)
3.獲取 (objectForKey:鍵)
dict[@"鍵"];
4.刪除
刪除一個 (removeObjectForKey)
刪除多個 (removeObjectsForKeys)
5.修改 (setObject:值 forKey:鍵) // 添加同名的key 就是修改了
?? 注意點(diǎn)
1. 不能使用@{}來創(chuàng)建一個可變的字典
2. 如果是不可變字典, 那么key不能相同
如果是不可變的字典, 出現(xiàn)了同名的key,那么后面的key對應(yīng)的值 不會被保存
如果是在可變的字典中, 那么后面的
#pragma mark 字典(NSDictionary)和數(shù)組(NSArray) 的區(qū)別
NSArray 是有序的
NSDictionary 是無序的
NSArray 是通過下標(biāo)訪問元素
NSDictionary 是通過key訪問元素
#pragma mark 創(chuàng)建 和 訪問
array
創(chuàng)建
@[@"lyh",@"lys"]; (返回的是一個不可變數(shù)組)
訪問
id a = array[1];
賦值
array[1] = @"lyh";
dict
創(chuàng)建
@{@"name":@"lyh",@"age":@"22"};
訪問
id a = dict[@"name"];
賦值
dict[@"name"] = @"lyh";
*/
pragma mark 代碼
#import <Foundation/Foundation.h>
#pragma mark 類
#pragma mark main函數(shù)
int main(int argc, const char * argv[])
{
#pragma mark NSMutableDictionary
#warning 1.創(chuàng)建
NSMutableDictionary *dictM = [NSMutableDictionary dictionary];
NSLog(@"dic %@",dictM);
#warning 2.如何添加
[dictM setObject:@"lyh" forKey:@"name"];
NSLog(@"dic %@",dictM);
// 會將傳入
[dictM setValuesForKeysWithDictionary:@{@"age":@"20",@"height":@"1.71"}];
NSLog(@"dic %@",dictM);
#warning 3.如何獲取
// NSLog(@"dic %@",[dictM objectForKey:@"name"]);
NSLog(@"dic %@",dictM[@"name"]);
#warning 4.如何刪除
// 刪除單個
[dictM removeObjectForKey:@"name"];
NSLog(@"dic %@",dictM);
// 刪除多個
// [dictM removeObjectsForKeys:@[@"age",@"height"]];
// NSLog(@"dic %@",dictM);
#warning 5.如何修改
// 如果利用setObject 方法給同名的key賦值,那么新值會覆蓋舊值
[dictM setObject:@"180" forKey:@"age"];
NSLog(@"dic %@",dictM);
#warning ??注意點(diǎn)
// 1. 不能使用@{}來創(chuàng)建一個可變的字典
// NSMutableDictionary *dictM2 = @{@"name":@"lyh"};
// [dictM2 setObject:@"20" forKey:@"age"];
// 2. 如果是不可變字典, 那么key不能相同
// 如果是不可變的字典, 出現(xiàn)了同名的key,那么后面的key對應(yīng)的值 不會被保存
// 如果是在可變的字典中, 那么后面的
NSDictionary *dictM3 = @{@"name":@"lyh",@"name":@"lys"};
NSLog(@"dictM3 %@",dictM3);
// 可變字典重名
NSMutableDictionary *dictM4 = [NSMutableDictionary dictionaryWithObjects:@[@"lyh",@"lys"] forKeys:@[@"name",@"name"]];
NSLog(@"dictM4 %@",dictM4);
#pragma mark 字典(NSDictionary)和數(shù)組(NSArray) 的區(qū)別
/**
NSArray 是有序的
NSDictionary 是無序的
NSArray 是通過下標(biāo)訪問元素
NSDictionary 是通過key訪問元素
*/
#pragma mark 創(chuàng)建 和 訪問
/**
array
創(chuàng)建
@[@"lyh",@"lys"]; (返回的是一個不可變數(shù)組)
訪問
id a = array[1];
賦值
array[1] = @"lyh";
dict
創(chuàng)建
@{@"name":@"lyh",@"age":@"22"};
訪問
id a = dict[@"name"];
賦值
dict[@"name"] = @"lyh";
*/
return 0;
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者