可能重复:
NSUserDefault 的大小限制?
我正在使用NSUserDefaults
. 我想知道我可以保存的最大图像数量,NSUserDefaults
或者换句话说,我们可以使用多少内存NSUserDefaults
?谢谢
可能重复:
NSUserDefault 的大小限制?
我正在使用NSUserDefaults
. 我想知道我可以保存的最大图像数量,NSUserDefaults
或者换句话说,我们可以使用多少内存NSUserDefaults
?谢谢
如果您要保存许多图像,我建议将图像保存到文件系统中,而不是将它们保存到 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];