¿Cómo podemos almacenar imágenes en un archivo plist. ¿Dónde está almacenado este archivo plist? ¿Alguien puede darme un ejemplo? ¡Las respuestas serán muy apreciadas!Almacenar imagen en plist
Respuesta
El UIImage
no implementa el protocolo NSCoder directamente lo que es necesario para el almacenamiento en plists.
Pero, es bastante fácil de agregar, como a continuación.
UIImage + NSCoder.h
#import <Foundation/Foundation.h>
@interface UIImage (MyExtensions)
- (void)encodeWithCoder:(NSCoder *)encoder;
- (id)initWithCoder:(NSCoder *)decoder;
@end
UIImage + NSCoder.m
#import "UIImage+NSCoder.h"
@implementation UIImage (MyExtensions)
- (void)encodeWithCoder:(NSCoder *)encoder
{
[encoder encodeDataObject:UIImagePNGRepresentation(self)];
}
- (id)initWithCoder:(NSCoder *)decoder
{
return [self initWithData:[decoder decodeDataObject]];
}
@end
Cuando esto se ha añadido usted será capaz de almacenar UIImages en plist con decir
// Get a full path to a plist within the Documents folder for the app
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask,
YES);
NSString *path = [NSString stringWithFormat:@"%@/my.plist",
[paths objectAtIndex:0]];
// Place an image in a dictionary that will be stored as a plist
[dictionary setObject:image forKey:@"image"];
// Write the dictionary to the filesystem as a plist
[NSKeyedArchiver archiveRootObject:dictionary toFile:path];
Nota: No recomiendo hacer esto, a menos que realmente lo desee, es decir, para imágenes realmente pequeñas.
Los archivos plist están destinados a almacenar pares clave-valor, no los recursos de su aplicación. Los íconos, imágenes y formularios generalmente se almacenan en un archivo .xib (consulte el Creador de interfaces)
Depende de dónde y cuándo la aplicación conoce estas imágenes.
Para las imágenes como parte del paquete de aplicaciones, here puede proporcionar alguna información. Si desea almacenar imágenes durante el ejecutando de la aplicación, puede utilizar los mismos conceptos (instrucciones de usuario con rutas relativas a las imágenes).
- Frank
Guarde siempre la ruta de la imagen en .plist, nunca la imagen real. Si lo haces, recibirás un golpe de rendimiento. Desea cargar imágenes cuando las necesite, no todas a la vez.
- 1. plist o sqlite
- 2. Almacenar una imagen en una cookie
- 3. ¿Cómo almacenar archivos de imagen en Django?
- 4. Cómo ahorrar NSMutableArray en plist en iPhone
- 5. Cómo guardar MKMapRect en un plist
- 6. ¿Es mejor almacenar datos en una base de datos plist o Sqlite?
- 7. crear un archivo plist programáticamente
- 8. Parse Plist (NSString) en NSDictionary
- 9. ¿Cómo escribir datos en plist?
- 10. Guardar NSDictionary a plist
- 11. plist bundle version values
- 12. Leyendo plist file
- 13. Plist contiene el carácter "&"
- 14. datos de acceso plist
- 15. Plist Array para NSDictionary
- 16. Cómo almacenar en caché una imagen en Javascript
- 17. Crear una aplicación plist
- 18. iOS: almacene dos NSMutableArray en un archivo .plist
- 19. iPhone: ¿Guarda datos de usuario en plist, SQLite o cookie?
- 20. ¿Cómo elimino los datos en un plist creado en XCode?
- 21. php: Almacenar imagen en blob Mysql, ¿Bueno o malo?
- 22. cómo almacenar en caché imagen generada por PHP
- 23. Paperclip: ¿Cómo almacenar una imagen en la consola de Rails?
- 24. arrayWithContentsOfFile no puede leer el archivo plist
- 25. ¿Debo guardar en plist o Core Data?
- 26. NSString: newline escape in plist
- 27. Escribir/Leer archivo plist iPhone
- 28. Creando un plist usando Java
- 29. Mejor manera de almacenar archivos binarios o de imagen
- 30. Cómo cargar un UIColor de un Plist
¡Muchas gracias por su sugerencia! – isarathg