API之NSDictionary的常見用法

/*

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=

[[NSMutableDictionaryallocinitWithObjectsAndKeys:@"多啦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; 空指針相當於上面的代

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章