我试图将一个图像数组保存到文档文件夹。我设法将图像保存为NSData,并使用下面的方法进行检索,但保存数组似乎超出了我的想象。我看过其他几个相关的问题,看起来我做的都是对的。将一个NSData数组写入文件
添加图像的NSData和保存图像:
[imgsData addObject:UIImageJPEGRepresentation(img, 1.0)];
[imgsData writeToFile:dataFilePath atomically:YES];
检索数据:
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];
因此,在使用上述作品写入图像作为NSData的,而不是像阵列作为NSData。它在数组中,但它有0个对象,这是不正确的,因为我保存的数组有几个。有没有人有任何想法?
关于内存管理的好处。 +1 – Moshe 2010-09-29 04:05:42
哇,完美!谢谢,它创造奇迹! – Beaker 2010-09-29 05:30:31
另外,在附注中,dataWithPropertyList:format:options:error:在iOS 4中可用。所以对我来说不是很有用,但可以帮助任何iPhone 4程序员。 – Beaker 2010-09-29 05:33:50