一 字典
1. NSDictionary 不可變字典,繼承自 NSObject,字典中存儲的元素都是以鍵值對形式存在的,key 值是唯一的,不能重複.
2. 字典中存儲的元素都是無序的.
3. 字典中存儲的都是 key/value,這種形式稱之爲鍵值對.
4. 便利構造器創建字典
NSDictionary *dic = [NSDictionary dictionary]; //空字典
創建一個空字典
NSDictionary * dic=[[NSDictionary alloc]init]; //是一個空字典
打印字典的標誌是一對大括號
5. 字典創建並初始化(dictionWithObjectsAndKeys)
NSDictionary*dic = [[NSDictionaryalloc]initWithObjectsAndKeys:
@”xiaoming”,@”name”,@”18”,@”age”,@”man”,@”sex”,nil];
注意:
1⃣ 創建的是時候 value 值在前, key 值在後;(@”value1”,@”key1”)
2⃣ 字典是無序的
3⃣ 字典創建的時候都是以nil結束
4⃣ value 必須是對象,key值一般是字符串
6. 字典的訪問
1⃣ 通過 key值訪問value值(objectForKey 和 valueForKey)
NSString *str = [dic objectForKey:@”age”];
NSString *str = [dic valueForKey:@”age”];
2⃣ 獲取所有的value的值(allValues)
NSArray *value = [dic allValues];
3⃣ 獲取所有的 key值的屬性(allKeys)
NSArray *key = [dic allKeys];
4⃣ 獲取字典中鍵值對的個數(count)
NSUInteger count = [dic count];
7. 遍歷字典
1⃣ for(NSInteger i = 0;i < count;i++){
//[dic allkeys]返回一個數組 然後使用 ObjectAtIndex 取出數組中的元素
NSString *str = [[dic allkeys]objectAtIndex:i];
NSStirng *value = [dic objectForKey:str];
}
2⃣ for(NSString *key in [dic allKeys]){
NSLog(@”%@ =%@”,key,[dic objectForKey:key]);
}
3⃣ 快速枚舉的是字典中的key值
for(NSString *key in dic){
NSLog(@”%@ = %@”,key,[dic objectForKey:key]);
}
二 NSMutableDictionary
1. 可變字典,繼承自NSDictionary
2. 初始化
NSMutableDictionary*mDic=[[NSMutableDictionaryalloc]initWithCapacity:0];
3. 向可變數組中添加對象(setObject: forKey:)
[mDic setObject:@”chenyixun” forKey:@”Singer”];
4. 修改key值對應的 value的值(setObject: froKey:或者setValue: forKey:)
[mDic setObject:@”liudehua” forKey:@”Singer”];
5. 刪除鍵值對(removeObjectForKey:)
[mDic removeObjectForKey:@”Duboer”];
6. 清空字典(removeAllObjects)
[mDic removeAllObjects];