簡體   English   中英

將NSMutableDictionary的內容復制到另一個NSMutableDictionary中?

[英]Copying the contents of an NSMutableDictionary into another NSMutableDictionary?

我有一個NSMutableDictionary ,其中每個元素都是另一個字典。 我可以將其內容復制到另一個NSMutableDictionary的最佳方法是什么? 我嘗試過使用:

firstDictionary = [NSMutableDictionary dictionaryWithDictionary:secondDictionary];

但不確定這是否是最好的方法。

您還可以使用copy和mutableCopy在可變字典和非可變字典之間跳轉。

- (void) someFunc:(NSMutableDictionary *)myDict {
    NSDictionary *anotherDict = [myDict copy];
    NSMutableDictionary *yetAnotherDict = [anotherDict mutableCopy];
}

檢查NSDictionary initWithDictionary:copyItems:方法。

它通過調用copyWithZone:item類的方法來實現元素的深度復制。 您必須自己在方法中自己復制字段。

符合NSCopying協議並對每個對象執行copyWithZone。

如果NsMutableDictionary包含另一個包含另一個字典的字典,那么你需要在所有級別的每個字典上執行copyWithZone。

“最好的”是什么意思?
無論如何,我在這里列舉了一些方法:

  1. firstDictionary = [NSMutableDictionary dictionaryWithDictionary:secondDictionary];
  2. [[NSDictionary alloc] initWithDictionary:secondDictionary]; //不要忘記稍后發布
  3. 使用深層復制
  4. 使用淺拷貝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM