2011-09-19 55 views

回答

14

NSMutableDictionary继承自NSDictionary。所以,writeToFile应该可用于这两个类。

7

的NSMutableDictionary是NSDictionary中的一个子类,所以将writeToFile方法应该适用于你的对象,而无需做任何铸造或转换。

3

NSMutableDictionary is NSDictionary,因为它是一个子类。通常,子类与其超类的关系称为:“是a”。

13

对于那些来这里真正寻找的转换从的NSMutableDictionary到的NSDictionary:

NSMutableDictionary *mutableDict = [[[NSDictionary alloc] initWithObjectsAndKeys: 
           @"value", @"key"] mutableCopy]; 

NSDictionary *dict = [NSDictionary dictionaryWithDictionary:mutableDict]; //there you have it 
1

为了解决实际问题的标题,而不是内容(因为我搜索了这个Q)实际上你可以依靠copyWithZone:得到下到一个不可变的词典。

NSMutableDictionary *mutableDict = [[NSMutableDictionary alloc] init]; 
mutableDict[@"key"] = @"value"; 
NSDictionary *immutableDict = [mutableDict copy]; 
相关问题