不可變字典
一 創(chuàng)建字典對象
1) NSDictionary *dic1 = [[NSDictionary alloc] initWithObjectsAndKeys:@100,@"老 談",@"two",@"2",@"three",@"3", nil];
2) NSDictionary *dic2 = [[NSDictionary alloc] initWithObjects:@[@"qf",@"1603"] forKeys:@[@"name",@"className"]];
3)NSDictionary *dic3 = @{@"1":@"one",@"2":@"two",@"3":@"three"}; 【重點】
二 字典的常用方法
1)通過key取得對應的value 【重點】
NSNumber *nm = [dic1 objectForKey:@"老談"];
int a = [nm intValue];
NSLog(@"a = %d",a);
//方法嵌套使用
NSLog(@"%d",[[dic1 objectForKey:@"老談"] intValue]);
新語法 NSString *str = dic3[@"3"]; //取出鍵為3的值 【新語法】
2)返回所有的key
NSArray *keys = [dic3 allKeys];
3)返回所有的value
NSArray *values = [dic3 allValues];
4)返回鍵值對的個數
NSLog(@"count = %ld", dic3.count);
5)字典的遍歷 【***重中之重***】
//快速枚舉遍歷字典
//in的右邊所遍歷的那個字典對象
//in的左邊字典中key的類型 key要有意義敬锐,所以一般都用字符串來寫
for (NSString *keyStr in dic1) {
NSLog(@"key = %@ ---- value = %@",keyStr,dic1[keyStr]);
}
可變字典
一 創(chuàng)建可變字典
1)創(chuàng)建一個空的可變字典 【***常見】
NSMutableDictionary *mDict1 = [[NSMutableDictionary alloc] init];
NSMutableDictionary *mDict2 = [NSMutableDictionary dictionary];
2)創(chuàng)建帶多個鍵值對的可變字典
NSMutableDictionary *mDict3 = [[NSMutableDictionary allo] initWithObjectsAndKeys:, nil];
NSMutableDictionary *mDict4 = [NSMutableDictionary dictionaryWithObjectsAndKeys:, nil];
3)把一個不可變字典轉換成可變字典 【***常見】
NSDictionary *dict = @{@"1":@"one",@"2":@"two",@"3":@"three"};
NSMutableDictionary *mDict5 = [[NSMutableDictionary alloc] initWithDictionary:dict];
NSMutableDictionary *mDict6 = [NSMutableDictionary dictionaryWithDictionary:dict];
二 添加鍵值對
[mDict6 setObject:@"four" forKey:@"4"];
NSLog(@"mDict6 = %@", mDict6);
[mDict6 setObject:@"A" forKey:@"1"];
NSLog(@"mDict6 = %@", mDict6);
三 刪除鍵值對
//1.根據key刪除對應的鍵值對
[mDict6 removeObjectForKey:@"2"];
NSLog(@"mDict6 = %@", mDict6);
//2.刪除多個鍵值對
[mDict6 removeObjectsForKeys:@[@"1",@"4"]]; //一次刪除多個用數組
NSLog(@"mDict6 = %@", mDict6);
//3.刪除所有的鍵值對
[mDict6 removeAllObjects];
NSLog(@"mDict6 = %@", mDict6);
四 重置鍵值對
//1.重置鍵值對
[mDict6 setDictionary:@{@"1":@"A",@"2":@"B",@"3":@"C"}];
NSLog(@"mDict6 = %@", mDict6);