2016-02-09 140 views
0

面臨着一個問題,如何在NSUserDefaults中存儲圖像,圖像包含像這樣的網址(www.example.com/1.png),如何存儲圖像幫助我。 這是我的代碼,如何將圖像存儲在NSUserDefaults中?

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是我的圖片陣列。請幫忙!

在此先感謝。

+0

將其轉換爲數據 –

+3

選中此http://stackoverflow.com/questions/6648518/save-images- in-nsuserdefaults –

+0

How @ AnkitSrivastava –

回答

1

你可以閱讀如何做這樣的事情in this post,但再次 - 這不是最好的做法要做。

對於正確的方法,例如,check this

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]; 
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]; 
相關問題