2011-09-19 9 views

risposta

14

NSMutableDictionary eredita da NSDictionary. Quindi, writeToFile dovrebbe essere disponibile per entrambe le classi.

7

NSMutableDictionary è una sottoclasse di NSDictionary, quindi il metodo writeToFile dovrebbe essere disponibile per l'oggetto senza dover eseguire alcuna conversione o conversione.

3

Un NSMutableDictionary è un NSDictionary poiché è una sottoclasse. In genere la relazione di una sottoclasse alla sua superclasse si chiama: "è un".

13

Per chi arriva qui veramente alla ricerca per la conversione da NSMutableDictionary a NSDictionary:

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

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

per affrontare il titolo della domanda reale e non il contenuto (in quanto ho cercato per questo Q) si può effettivamente contare su copyWithZone: per ottenere fino a un dizionario immutabile.

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