我想使用仅适用于NSDictionary的方法( writeToFile )到NSMutableDictionary对象。那么,我如何将这个NSMutableDictionary对象转换为NSDictionary?
答案 0 :(得分:14)
NSMutableDictionary继承自NSDictionary。因此,writeToFile应该可供两个类使用。
答案 1 :(得分:7)
NSMutableDictionary是NSDictionary的子类,因此writeToFile方法应该可用于您的对象,而无需进行任何转换或转换。
答案 2 :(得分:6)
如前所述:
How to save a NSMutableDictionary into a file in documents?
你不需要转换它。
但如果你真的想,只需使用copy
上的NSMutableDictionary
方法或dictionaryWithDictionary:
上的NSDictionary
方法。两者都提供NSDictionary
的{{1}}。
答案 3 :(得分:3)
NSMutableDictionary 是 NSDictionary,因为它是一个子类。通常,子类与其超类的关系称为:“is a”。
答案 4 :(得分:1)
要解决实际的问题标题而不是内容(因为我搜索了这个Q),你实际上可以依靠copyWithZone:
来找到一个不可变的词典。
NSMutableDictionary *mutableDict = [[NSMutableDictionary alloc] init];
mutableDict[@"key"] = @"value";
NSDictionary *immutableDict = [mutableDict copy];