0

我正在尝试在uiImageView使用时显示图像imagePickerview。意味着用户选择图像确定。然后我有一个按钮,上面写着 save 。所以接下来我要做的就是将图像保存在NSUserDefaults 然后我需要这个图像在另一个视图控制器上以在uiImage视图上显示相同的图像

为此,我做了以下工作。

       on save  button touched......

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

然后在另一个视图控制器上检索.......作为

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

但是图像没有显示在另一个视图的 imageView 中。

4

1 回答 1

0

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

于 2012-05-14T18:45:30.637 回答