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?¿Cómo uso el método writeToFile en un NSMutableDictionary?
Respuesta
NSMutableDictionary hereda de NSDictionary. Por lo tanto, writeToFile debe estar disponible para ambas clases.
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.
Como ya se ha discutido aquí:
How to save a NSMutableDictionary into a file in documents?
que no es necesario para convertirlo.
Pero si realmente desea, sólo tiene que utilizar el método en su copy
o el método NSMutableDictionary
dictionaryWithDictionary:
en NSDictionary
. Ambos proporcionan un NSDictionary
de NSMutableDictionary
.
Un NSMutableDictionary es un NSDictionary puesto que es una subclase. Normalmente, la relación de una subclase a su superclase se llama: "es un".
Para los que vienen aquí genuinamente 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 hacer frente al título de la pregunta actual y no el contenido (ya que he buscado para este Q) en realidad se puede confiar en copyWithZone:
para obtener hasta un diccionario inmutable.
NSMutableDictionary *mutableDict = [[NSMutableDictionary alloc] init];
mutableDict[@"key"] = @"value";
NSDictionary *immutableDict = [mutableDict copy];
- 1. ¿Copiando el contenido de un NSMutableDictionary en otro NSMutableDictionary?
- 2. NSDictionary writeToFile
- 3. cómo insertar un (BOOL *) en NSMutableDictionary
- 4. Ordenar un NSMutableDictionary
- 5. writeToFile cómo saber cuándo se completó
- 6. ¿Cómo actualizar NSMutableDictionary?
- 7. El uso de const en un método
- 8. ¿Cómo uso el método showAlert en Android?
- 9. writeToFile: atómicamente: ¿qué significa atómicamente?
- 10. ¿Dónde escribe [NSData writeToFile]?
- 11. NSArray writeToFile falla
- 12. NSData writeToFile no funciona
- 13. Subclase NSMutableDictionary
- 14. ¿Por qué utilizar un NSFileManager en lugar de usar el método writeToFile: atómicamente de NSData al crear un nuevo archivo?
- 15. static NSMutableDictionary
- 16. ¿Cómo cambiar el nombre de una clave en NSMutableDictionary?
- 17. ¿La creación literal de un NSMutableDictionary es menos eficiente que el método de clase auxiliar?
- 18. writeToFile en OSX, anexando al archivo?
- 19. Objetivo C - ¿Cómo uso el método initWithCoder?
- 20. ¿Cómo uso el método CopyToDataTable de System.Data.DataTableExtensions?
- 21. ¿Cómo uso HttpWebRequest con el método GET
- 22. bucle a través de un NSMutableDictionary
- 23. ¿Verifica si un NSMutableDictionary está vacío?
- 24. Escribir writeToFile: atómicamente: ¿sobrescribir datos?
- 25. ¿Cómo uso el método unittest setUplass()?
- 26. NSMutableDictionary thread safety
- 27. ¿Liberación de contenido de NSMutableDictionary?
- 28. Falta el método de uso en Rails
- 29. NSData writeToFile: atómicamente: no guarda inmediatamente el archivo
- 30. Cómo utilizar arrayWithContentsOfFile al cargar el archivo escrito con éxito con WriteToFile en ObjectiveC/XCode