我有一个NSMutableDictionary
,其中每个元素都是另一个字典。我应该如何最好地将其内容复制到另一个NSMutableDictionary
中?我尝试使用以下方法:
firstDictionary = [NSMutableDictionary dictionaryWithDictionary:secondDictionary];
然而,不确定这是否是最佳方法。
我有一个NSMutableDictionary
,其中每个元素都是另一个字典。我应该如何最好地将其内容复制到另一个NSMutableDictionary
中?我尝试使用以下方法:
firstDictionary = [NSMutableDictionary dictionaryWithDictionary:secondDictionary];
你也可以使用copy和mutableCopy在可变和不可变字典之间切换。
- (void) someFunc:(NSMutableDictionary *)myDict {
NSDictionary *anotherDict = [myDict copy];
NSMutableDictionary *yetAnotherDict = [anotherDict mutableCopy];
}
请查看NSDictionary initWithDictionary:copyItems:方法。
该方法可以通过调用项目类的copyWithZone:方法实现元素的深层复制。您需要在方法中自己复制字段。
你所说的“最好”是什么意思?
无论如何,我在这里列出了一些方法:
遵循 NSCopying 协议并对每个对象执行 copyWithZone 操作。
如果 NsMutableDictionary 包含另一个字典,该字典包含另一个字典,则需要在所有级别上对每个字典执行 copyWithZone 操作。