2016-02-09 3 views
0

сталкиваются с одной проблемой, как хранить изображения в NSUserDefaults, изображение которых содержит URL-адрес (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

Как @ 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, тогда вам нужно использовать UIImagePNGRпредставление для хранения изображения .png.

2.For .jpg/.jpeg UIImageJPEGRепредставление (сжатие с потерями), если вы используете значение compressionQuality меньше 1.0, вы можете потерять некоторое качество изображения.

[[NSUserDefaults standardUserDefaults]setObject:UIImagePNGRepresentation(image) forKey:@"yourKey"]; 

Чтобы получить изображение из NSUserDefaults вы можете получить его от NSData:

NSData* imageData = [[NSUserDefaults standardUserDefaults] objectForKey:@"yourKey"]; 
UIImage* image = [UIImage imageWithData:imageData]; 
Смежные вопросы