Estoy intentando guardar una matriz de imágenes en la carpeta de documentos. Logré guardar una imagen como NSData y recuperarla usando el método a continuación, pero guardar una matriz parece estar más allá de mí. He visto muchas otras preguntas que se relacionan y parece que estoy haciendo todo bien.Escribir una matriz de NSData en el archivo
Adición de la imagen como NSData y guardar la imagen:
[imgsData addObject:UIImageJPEGRepresentation(img, 1.0)];
[imgsData writeToFile:dataFilePath atomically:YES];
Recuperación de los datos:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"imgs.dat"];
[self setDataFilePath:path];
NSFileManager *fileManager = [NSFileManager defaultManager];
if([fileManager fileExistsAtPath:dataFilePath])
imgsData = [[NSMutableArray alloc] initWithContentsOfFile:dataFilePath];
Así, escribiendo una imagen como NSData usando lo anterior funciona, pero no una serie de imágenes como NSData. Entra en la matriz, pero tiene 0 objetos, lo que no es correcto, ya que la matriz que estoy guardando tiene varios. ¿Alguien tiene alguna idea?
Buen punto con respecto a la gestión de memoria. +1 – Moshe
¡Guau, perfecto! Gracias, funciona de maravilla! – Beaker
Además, en una nota al margen, dataWithPropertyList: format: options: error: está disponible en iOS 4. Así que no es útil para mí, pero puede ayudar con cualquier programador de iPhone 4. – Beaker