ios - 将 NSMutableDictionary 添加到 NSMutableDictionary 是否制作副本或保留指针

标签 ios nsmutabledictionary

将 NSMutableDictionary 添加到 NSMutableDictionary 是创建副本还是保留指针。

我希望能够更新第一个 NSMutableDictionary 的内容并在另一个 NSMutableDictionary 中跟踪它 - 例如......

    NSMutableDictionary* dictA = [[NSMutableDictionary alloc] init];
    NSMutableDictionary* dictB = [[NSMutableDictionary alloc] init];
    [dictA setValue:[NSNumber numberWithInt:1 ] forKey:@"number"];
    [dictB setValue:dictA forKey:@"dictA"];

    [dictA setValue:[NSNumber numberWithInt:2 ] forKey:@"number"];

现在 dictB.dictA.number = 2 吗?

最佳答案

是的,会的。通常,Cocoa 集合类只保留添加到它们的对象(目的:这样你也可以插入不可复制的对象)。

(通过 CoreFoundation 技巧和免费桥接,可以实现复制其元素的 NSArray。)

关于ios - 将 NSMutableDictionary 添加到 NSMutableDictionary 是否制作副本或保留指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16677743/

相关文章:

ios - Google Maps SDK didChangeCameraPosition() 被重复调用

ios - 将 UIImageView 动态添加到 UIScrollview 中,但无法自动调整大小

ios - 当 TextView 中没有文本时,如何让 TableView 不保存笔记?

swift - 如何在 NSUserDefault 中快速设置字典?

ios - 组合字典 : No class method for selector "addEntriesFromDictionary"

ios - 不要按字母顺序添加 NSMutabledictionary 值

javascript - 升级到 Ionic RC4 后运行应用程序时出错

ios - 将 NSString 转换为整数

ios - GAIDictionaryBuilder的NSNumber值失败

objective-c - 尝试创建和填充 NSMutableDictionary 时出现内存错误