iphone ios ios4 nsdictionary nsmutabledictionary

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];