我有一个NSMutableDictionary
,每个元素都是另一个字典。我可以将其内容复制到另一个NSMutableDictionary
的最佳方式是什么?我尝试过使用:
firstDictionary = [NSMutableDictionary dictionaryWithDictionary:secondDictionary];
但不确定这是否是最好的方法。
答案 0 :(得分:13)
您还可以使用copy和mutableCopy在可变和不可变的词典之间跳转。
- (void) someFunc:(NSMutableDictionary *)myDict {
NSDictionary *anotherDict = [myDict copy];
NSMutableDictionary *yetAnotherDict = [anotherDict mutableCopy];
}
答案 1 :(得分:6)
检查NSDictionary initWithDictionary:copyItems:方法。
它可以通过调用copyWithZone:item类的方法来实现元素的深度复制。您必须自己在方法中自己复制字段。
答案 2 :(得分:0)
“最佳”是什么意思?
无论如何,我在这里列出了一些方法:
答案 3 :(得分:0)
遵守NSCopying协议并对每个对象执行copyWithZone。
如果NsMutableDictionary包含另一个包含另一个字典的字典,那么你需要在每个字典的各个级别都做copyWithZone。