将图像添加到plist

时间:2013-03-26 12:08:06

标签: iphone ios objective-c ios5 plist

我正在制作一个应用程序,我使用相机拍照,并希望将这些图片保存在plist上,以便我将来可以使用。我还想从plist中检索保存的图像并在imageview上显示它们。有多个图像。请任何人都可以帮助我

这是我用于添加到plist

的代码
imageArray addObject:[NSString stringWithFormat:@"%@",imageView.image]];

[imageArray writeToFile:plistPath atomically:YES];

但是当我试图检索图像并将其设置在imageview上时,我无法看到图像。 感谢。

2 个答案:

答案 0 :(得分:1)

你不能像这个方法一样保存到plist。支持的格式是NSData,NSString,NSArray,NSDictionary,NSDate和NSNumber。您可以将UIImage转换为NSData,并可以使用plist进行编写。

将图像转换为NSData

NSData *data = UIImagePNGRepresentation(imageview.image);
[imageArray addObject:data];
[imageArray writeToFile:plistPath atomically:YES];

以及NSLog您的文件路径以找到yoyr plist的保存位置。

希望这有帮助!!!

答案 1 :(得分:0)

看到这个,

保存:

- (IBAction)saveImage {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"];
    UIImage *image = imageView.image; // imageView is my image from camera
    NSData *imageData = UIImagePNGRepresentation(image);
    [imageData writeToFile:savedImagePath atomically:NO];   
}

用于检索:

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