字典:类型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;