Objective-C在应用程序中保存并加载图像

时间:2016-08-07 13:48:16

标签: objective-c core-data uiimage

在应用程序中保存和加载图像的最简单方法是什么。单击动作屏蔽选项从图库或从相机下载图像,如何执行此操作将在另一个控制器上加载此图片。如果很多图片会选择他们想要的网址。如何最好地实现这样的功能?我在coredate store字符串中找到索引文件的变体。如果有人知道如何做到这一点或知道实现这一半的方式,我将非常感激。

2 个答案:

答案 0 :(得分:2)

您可以使用NSUserDefaults在应用程序中存储图像,并在您想要使用它们时检索图像。

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
////-------------------------------------------------------------------------------------------------------------------------------------------------

    UIImage *chosenImage = info[UIImagePickerControllerEditedImage];
    self.imagePicked.image = chosenImage;
[[NSUserDefaults standardUserDefaults] setObject:UIImagePNGRepresentation(chosenImage) forKey:@"userImage"]
    [picker dismissViewControllerAnimated:YES completion:NULL];

}

//Retrieving the image

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
   NSData* imageData = [[NSUserDefaults standardUserDefaults] objectForKey:@"userImage"];
  UIImage* userImage = [UIImage imageWithData:imageData];
self.imagePicked.image = userImage;
}

用于存储多个图像您可以使用NSMutable arry。

答案 1 :(得分:0)

//保存图像ALAssetsLibrary&保存图库文件夹: - (IBAction为)保存:(ID)发送者 {

UIGraphicsBeginImageContextWithOptions(self.share_imageview.bounds.size, _share_imageview.opaque, 0.0);
[self.share_view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *visibleViewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

[self.library saveImage:visibleViewImage toAlbum:@"Photo Blender" withCompletionBlock:^(NSError *error) {
    if (error!=nil)
    {
        NSLog(@"Big error: %@", [error description]);
    }
    else
    {
        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Success" message:@"Image saved to album." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
        [alert show];

    }
}];

}