面对一个问题,如何在NSUserDefaults中存储图像,图像包含这样的网址(www.example.com/1.png),如何存储图像可以帮助我。 这是我的代码,
listBannerArray =[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
imageArray = [listBannerArray valueForKey:@"mainbanner"];
NSLog(@"%@",imageArray);
NSUserDefaults *imageDefaults = [NSUserDefaults standardUserDefaults];
[imageDefaults setObject:imageArray forKey:@"kPrefKeyForMainBanner"];
NSLog(@"image :%@",[imageDefaults objectForKey:@"kPrefKeyForMainBanner"]);
这里listBannerArray是我的总反应,imageArray是我的images数组。请帮忙!
提前致谢。
答案 0 :(得分:3)
在NSUserDefaults中保存图像:
[[NSUserDefaults standardUserDefaults]setObject:UIImagePNGRepresentation(image) forKey:key];
To retrieve an image from NSUserDefaults:
NSData* imageData = [[NSUserDefaults standardUserDefaults] objectForKey:key];
UIImage* image = [UIImage imageWithData:imageData];
答案 1 :(得分:1)
您可以阅读如何执行此类操作in this post,但再次 - 这不是最佳做法。
正确方法,例如check this。
答案 2 :(得分:0)
您可以存储和检索NSUserDefaults中的图像,如下所示:
注意: - 强>
1.如果您有UIImage对象,则需要使用UIImagePNGRepresentation存储.png图像。
2.对于.jpg / .jpeg UIImageJPEGRepresentation(有损压缩)如果使用小于1.0的compressionQuality值,则可能会丢失一些图像质量。
[[NSUserDefaults standardUserDefaults]setObject:UIImagePNGRepresentation(image) forKey:@"yourKey"];
要从NSUserDefaults检索图像,您可以从NSData获取它:
NSData* imageData = [[NSUserDefaults standardUserDefaults] objectForKey:@"yourKey"];
UIImage* image = [UIImage imageWithData:imageData];