奇怪的事情发生在我身上,我尝试创建可变字典,但它返回一个不可变的。
NSMutableDictionary * d = [NSMutableDictionary dictionary];
[d setObject:value forKey:key];
d
NSMutableDictionary
仍然是NSDictionary
,请参见截图。当然,应用程序崩溃然后执行[d setObject:value for:key]
答案 0 :(得分:4)
您的问题是value
为nil
,您无法将nil
值设置为字典。
不要担心您在变量检查器中看到的__NSCFDictionary *
和NSDictionary
内容。你肯定有一个可变的字典。您在检查器中看到的是如何实现NSMutableDictionary
的工件(作为类集群)。