【发布时间】:2013-12-10 13:06:33
【问题描述】:
我正在使用以下代码从文档目录中保存和读取已保存的单击图像文件。它第一次运行良好,但是当我第二次尝试读取保存的图像文件时,它向我显示了第一次点击的图像。
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingImage:(UIImage *)image
editingInfo:(NSDictionary *)editingInfo
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString* path = [documentsDirectory stringByAppendingPathComponent:
@"test.png" ];
NSFileManager* fileManager=[NSFileManager defaultManager];
if ([fileManager fileExistsAtPath:path]) {
NSError* error;
[fileManager removeItemAtPath:path error:&error];
}
NSData* data = UIImagePNGRepresentation(image);
[data writeToFile:path atomically:YES];
[self.viewController dismissViewControllerAnimated:YES completion:nil];
}
知道为什么每次返回我的图片都会第一次点击。
【问题讨论】:
-
您确定只要文件存在就需要删除该文件吗?
-
您显示的方法不返回任何内容。您如何加载图像以进行显示?
-
并检查
writeToFile:atomically:的返回值! -
@MartinR:My writeToFile:atomically: 正在返回 True
-
@Wain:我正在从 test.png 的同一路径读取图像文件......即每次点击我都会覆盖图像文件,并且它在 Document 目录中发生更改,但在读取时它返回给我的第一个点击图片。
标签: ios nsfilemanager