NSMutableDictionary是NSDictionary的子类,它支持NSDictionary的一系列方法,并在此基础上可以对字典中的内容做增加和删除操作。
NSDictionary的相关介绍见NSDictionary Class Reference
初始化
+ dictionaryWithCapacity:
- initWithCapacity:
- init
#pragma mark 初始化
- (void)testCreatingAndInitializing {
// 创建包含一个key-value的可变字典。
NSMutableDictionary *mDictionary = [NSMutableDictionary dictionaryWithCapacity:1];
mDictionary = [[NSMutableDictionary alloc] initWithCapacity:1];
// 空字典
mDictionary = [NSMutableDictionary dictionary];
mDictionary = [[NSMutableDictionary alloc] init];
}
增加记录
- setObject:forKey:
- setObject:forKeyedSubscript:
- setValue:forKey:
- addEntriesFromDictionary:
- setDictionary:
#pragma mark 增加记录
- (void)testAddingEntries {
NSMutableDictionary *mDictionary = [NSMutableDictionary dictionary];
// 增加单一记录
[mDictionary setObject:@"阳君" forKey:@"name"];
[mDictionary setObject:@"937447974" forKeyedSubscript:@"qq"];
[mDictionary setValue:@"937447974@qq.com" forKey:@"email"];
// 从字典中增加数据
NSDictionary *dictionary = [NSDictionary dictionaryWithObject:@"IOS" forKey:@"development"];
[mDictionary addEntriesFromDictionary:dictionary];
// 用新的字典数据覆盖原有字典数据
[mDictionary setDictionary:dictionary];
}
删除记录
- removeObjectForKey:
- removeAllObjects
- removeObjectsForKeys:
#pragma mark 删除记录
- (void)testRemovingEntries {
NSMutableDictionary *mDictionary = [NSMutableDictionary dictionary];
// 增加单一记录
[mDictionary setObject:@"阳君" forKey:@"name"];
[mDictionary setObject:@"937447974" forKeyedSubscript:@"qq"];
[mDictionary setValue:@"937447974@qq.com" forKey:@"email"];
[mDictionary setValue:@"IOS" forKey:@"development"];
// 根据key删除单一记录
[mDictionary removeObjectForKey:@"qq"];
// 批量删除多个key对应的记录
NSArray *keys = [NSArray arrayWithObject:@"email"];
[mDictionary removeObjectsForKeys:keys];
// 删除所有记录
[mDictionary removeAllObjects];
}
其他
参考资料
NSMutableDictionary Class Reference
文档修改记录
时间 | 描述 |
---|---|
2015-10-14 | 根据IOS9的NSMutableDictionary API总结 |