我正在使用NSUserDefaults
保存图像。我想知道我可以使用NSUserDefaults
保存的最大图像数量,或者换句话说,使用NSUserDefaults
我们可以使用多少内存?
感谢
答案 0 :(得分:3)
如果要保存大量图像,我建议将图像保存到文件系统中,而不是将它们保存到NSUserDefaults(或CoreData),然后将文件名保存到NSUserDefaults。
这样就无需担心任何容量限制。
保存图片:
UIImage* image = [UIImage imageNamed:@"example_image.png"];
NSData* imageData = UIImageJPEGRepresentation(image, 1.0);
NSString* imagePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"/saved_example_image.png"];
[imageData writeToFile:imagePath atomically:YES];
检索图像:
NSString* imagePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"/saved_example_image.png"];
UIImage* imageFromFileSystem = [UIImage imageWithContentsOfFile:imagePath];