字典:類型NSDictionary
具有鍵(key)和值(value),鍵就相當於索引,鍵值是唯一的,值就相當於內容,一般情況下我們可以通過鍵(key)找到值(value)
字典的元素是鍵值對,所以字典的元素都是成對出現的,一個元素就是一對(有key和對應的value)
鍵和值都是對象類型,鍵和值的類型可以不同
NSDictionary:不可變字典
字典對象一旦創建完成後,字典成員不能夠被修改,增加和刪除
1.字典的創建
NSDictionary *dictionary = @{@"key1": @"value1", @"key2": @"value2"};
對象方法
- (id)initWithObjectsAndKeys:(id)firstObject, …;
類方法
+ (id)dictionaryWithObjectsAndKeys:(id)firstObject, ...;
2.字典的操作
- (NSUInteger)count;
獲取鍵值對的個數
- (id)objectForKey:(id)aKey;
根據鍵key獲取相應值value
- (NSArray *)allKeys;
獲取字典中所有的key
- (NSArray *)allKeysForObject:(id)anObject;
獲取與某個值value對應的所有鍵key
- (NSArray *)allValues;
獲取字典中的所有值
NSMutableDictionary:可變字典
字典對象一旦創建完成後,字典成員仍然能夠被修改,增加和刪除
1.可變字典的創建
NSMutableDictionary *mutableDictionary1 = [[NSMutableDictionary alloc] initWithCapacity:0];
2.可變字典的操作
1:在字典末尾增加一個鍵值對
- (void)setObject:(id)anObject forKey:(id <NSCopying>)aKey;
2:在字典末尾增加一個字典
- (void)addEntriesFromDictionary:(NSDictionary *)otherDictionary;
3:根據鍵key刪除鍵值對
- (void)removeObjectForKey:(id)aKey;
4:刪除所有鍵值對
- (void)removeAllObjects;
5:key不存在表示增加 key存在表示修改key對應的值
- (void)setObject:(id)anObject forKey:(id <NSCopying>)aKey;
6:修改整個字典
- (void)setDictionary:(NSDictionary *)otherDictionary;