iphone - ¿Cómo uso el método writeToFile en un NSMutableDictionary?
ios ios4 (6)
Me gustaría utilizar un método ( writeToFile ) solo disponible para NSDictionary a un objeto NSMutableDictionary. Entonces, ¿cómo convierto este objeto NSMutableDictionary a NSDictionary?
NSMutableDictionary es una subclase de NSDictionary, por lo que el método writeToFile debe estar disponible para su objeto sin tener que realizar conversiones o conversiones.
NSMutableDictionary hereda de NSDictionary. Por lo tanto, writeToFile debe estar disponible para ambas clases.
Un NSMutableDictionary es un NSDictionary ya que es una subclase. Normalmente, la relación de una subclase a su superclase se llama: "es un".
Para aquellos que vienen aquí realmente buscando la conversión de NSMutableDictionary a NSDictionary:
NSMutableDictionary *mutableDict = [[[NSDictionary alloc] initWithObjectsAndKeys:
@"value", @"key"] mutableCopy];
NSDictionary *dict = [NSDictionary dictionaryWithDictionary:mutableDict]; //there you have it
Para abordar el título de la pregunta real y no el contenido (desde que busqué esta Q), puedes confiar en copyWithZone:
para ir a un diccionario inmutable.
NSMutableDictionary *mutableDict = [[NSMutableDictionary alloc] init];
mutableDict[@"key"] = @"value";
NSDictionary *immutableDict = [mutableDict copy];
Como ya se discutió aquí:
¿Cómo guardar un NSMutableDictionary en un archivo en documentos?
no necesitas convertirlo
Pero si realmente lo desea, simplemente use el método de copy
en su NSMutableDictionary
o el método dictionaryWithDictionary:
en NSDictionary
. Ambos proporcionan un NSDictionary
de un NSMutableDictionary
.