/*
NSDictionary *dic1 = [[NSDictionary alloc]
initWithObjectsAndKeys:@"李四", @"name", @"不明",@"gender", nil];
//字典中的對象可以重複存儲
//71 - (instancetype)initWithObjectsAndKeys:(id)firstObject, ...
NSDictionary *dic2 = [[NSDictionary alloc] initWithObjectsAndKeys:@"孫⼤大聖", @"name", @"孫⼤大聖",@"monkey", @"豬⼋八戒", @"貪喫⿁鬼", nil];
// NSLog(@"%@", [dic1objectForKey:@"name"]);
// NSLog(@"%@", dic1); //打印UTF8編碼一個UTF8是兩個字節
// //把所有key作爲數組輸出
// NSArray *keys = [dic1 allKeys];
//
// for (int i = 0; i < [keys count]; i++) {
// NSLog(@"%@ : %@", keys[i], dic1[keys[i]]);
// }
// //輸出同一對象的所有下標
// NSLog(@"%@", [dic2allKeysForObject:@"sun"]);
// //獲取字典⾥裏所有元素
// NSArray *array1 = [dic1 allValues];
// NSLog(@"%@", array1);
// //判斷兩個數組是否相等
// if ([dic1 isEqualToDictionary:dic2]) {
// NSLog(@"yes");
// } else {
// NSLog(@"no");
// }
*/
/*
//72 - (instancetype)initWithDictionary:
(NSDictionary *)otherDictionary;
NSDictionary *dic3 = [[NSDictionary alloc]
initWithDictionary:dic2];
NSLog(@"%@", dic3);
//87 - (void)removeObjectForKey:(id)aKey;
NSArray *key2 = [dic2 allKeys];
*/
//可變字典
NSMutableDictionary *mDic1=
[[NSMutableDictionaryalloc] initWithObjectsAndKeys:@"多啦A夢",@"name", @"百變⼝口袋", @"skill", nil];
NSArray *keys1= [mDic1 allKeys];
for (int i = 0; i <[keys1 count]; i++) {
NSLog(@"%@ : %@", [keys1objectAtIndex:i],
[mDic1 objectForKey:[keys1 objectAtIndex:i]]);
}
//通過key移除對象
// [mDic1 removeObjectForKey:@"name"];
// NSLog(@"%@", [mDic1objectForKey:@"name"]);
NSMutableDictionary *mDic2=[[NSMutableDictionaryalloc]init];
//把後⾯面的字典拷⻉貝給前⾯面的字典
[mDic2 setDictionary:mDic1];
// NSArray *key2 = [mDic2 allKeys];
// for (int i = 0; i < [key2 count]; i++) {
// NSLog(@"%@ : %@", [key2 objectAtIndex:i],
[mDic2 objectForKey:[key2 objectAtIndex:i]]);
// }
//重新寫⼊入key所保存的對象
[mDic2 setObject:@"⼤大熊"forKey:@"name"];
NSArray *key2= [mDic2 allKeys];
for (int i = 0; i< [key2 count]; i++) {
NSLog(@"%@ : %@", [key2objectAtIndex:i],
[mDic2 objectForKey:[key2 objectAtIndex:i]]);
}
//88 - (void)setObject:(id)anObject forKey:(id
<NSCopying>)aKey; 空指針相當於上⾯面的代碼