我在调试应用程序时遇到了 NSFrozenDictionary。
共享索引属性声明为 NSDictionary * sharedIndex = ...
这是什么?它与 NSMutableDictionary 有何不同?
最佳答案
它是一个标记为不可变的 NSMutableDictionary
。
获取__NSFrozenDictionaryM
的一种情况:
有一个可变字典数组:
NSArray *array = @[{NSMutableDictionary}, {NSMutableDictionary}, {NSMutableDictionary}]
通过以下方式制作一个两层深的副本:
NSArray *res = [[NSArray alloc] initWithArray:array copyItems:YES]
生成的 res
数组包含 array
中 NSMutableDictionaries 的不可变副本,其类型为 __NSFrozenDictionaryM
。我想这是为了避免真正复制原始数组中的所有字典而进行的优化。
关于objective-c - 什么是 NSFrozenDictionaryM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48290406/