使用coredata在手机库中保存并加载图像

时间:2014-10-11 13:40:23

标签: ios objective-c iphone ipad core-data

我在这里有一个问题。我需要在app.i中添加使用coredata的人的详细信息。还需要存储每个人详细信息的图像。我还需要在下一个表视图中显示这些细节view controller.i可以保存并显示除image之外的所有其他细节。我可以使用coredata保存和显示吗?

2 个答案:

答案 0 :(得分:0)

您可以将图像保存在Xcode项目中,并将图像名称和路径保存在核心数据中,并在需要时在图像视图中引用它们

答案 1 :(得分:0)

将代理添加到.h文件

使用下面的代码打开照片库

    UIImagePickerController *picker=[[UIImagePickerController alloc]init];
    picker.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
    picker.delegate=self;
    [self presentViewController:picker animated:YES completion:nil];

使用此委托事件获取所选图像并将其保存到本地目录

#pragma mark - Imagepicker delegate
- (void)imagePickerController:(UIImagePickerController *)imagePicker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    UIImage *origImage = [info objectForKey:UIImagePickerControllerOriginalImage];

    //Code to save image in local directory
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"];

    UIImage *image = origImage.image; // origImage is my image from photo library
    NSData *imageData = UIImagePNGRepresentation(image);
    [imageData writeToFile:savedImagePath atomically:NO]; 

    [imagePicker dismissViewControllerAnimated:YES completion:nil];
}

使用下面的代码从图库中加载图片

  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,     NSUserDomainMask, YES);
  NSString *documentsDirectory = [paths objectAtIndex:0];
  NSString *ImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"];
  UIImage *img = [UIImage imageWithContentsOfFile:ImagePath];

在img中你可以得到你的形象