1

可能重复:
NSUserDefault 的大小限制?

我正在使用NSUserDefaults. 我想知道我可以保存的最大图像数量,NSUserDefaults或者换句话说,我们可以使用多少内存NSUserDefaults?谢谢

4

1 回答 1

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];
于 2012-09-20T05:56:04.693 回答