从NSUserDefaults检索后如何将UIImage设置为UIImageView

时间:2012-04-23 13:17:31

标签: ios4 uiimageview

我正在尝试使用uiImageViewimagePickerview上显示图片。 意味着用户选择图像确定。 然后我有一个按钮说保存。 接下来我要做的就是将图像保存在NSUserDefaults中 然后我需要在另一个viewController上使用此图像在uiImage视图

上显示相同的图像

为此我做了以下。

       on save  button touched......

     NSData* imageData = UIImagePNGRepresentation(image.image);
    NSData* myEncodedImageData = [NSKeyedArchiver archivedDataWithRootObject:imageData];
    [[NSUserDefaults standardUserDefaults] setObject:myEncodedImageData forKey:@"myEncodedImageDataKey"];
    [[NSUserDefaults standardUserDefaults] synchronize];

然后在另一个viewcontroller上转发....... as

           NSData* myEncodedImageData = [[NSUserDefaults standardUserDefaults] objectForKey:@"myEncodedImageDataKey"];
UIImage* image = [UIImage imageWithData:myEncodedImageData];
imageView.image =image;

但是图像不会显示在另一个视图上的imageView中。

1 个答案:

答案 0 :(得分:0)

通过获取NSData对象中的PNG图像数据并在将其存储为默认值之前对其进行存档,您正在执行额外且不必要的步骤。 NSUserDefaults可以直接处理NSData对象。尝试取出归档/取消归档,只需使用NSData对象,看看是否能解决您的问题。