UIImage无法保存到文件夹ios

时间:2017-09-05 08:04:10

标签: ios objective-c uiimage

我正在尝试将uiimage保存到文档文件夹,但无法使用以下代码找到它:

-(void) BtnClicked: (id)sender{
    NSLog(@"Btn clicked");
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"file2.txt"];
    NSString *pngPath = [documentsDirectory stringByAppendingString:@"test2.png"];
    NSString *str = @"hello world";
    UIImage *uiImage = [UIImage imageNamed:@"test.png"];
    NSData *dataImage = [NSData dataWithData:UIImagePNGRepresentation(uiImage)];
    UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 300, 300)];
    imageView.image = uiImage;
    [self.view addSubview: imageView];
    [dataImage writeToFile:pngPath atomically:YES];
    [str writeToFile:filePath atomically:TRUE encoding:NSUTF8StringEncoding error:NULL];

}

如上面显示的代码,我添加一个字符串进行一起测试,我可以在Xcode的容器下载中找到file2.txt,但无法找到png文件,我还添加了一个UIImage视图显示图像以避免其他错误,并且图像已成功显示。

出了什么问题?

enter image description here

1 个答案:

答案 0 :(得分:1)

你有一个小错误

同时观察

NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"file2.txt"];
NSString *pngPath = [documentsDirectory stringByAppendingString:@"test2.png"];
应在stringByAppendingPathComponent

的地方使用

stringByAppendingString

希望它能解决你的问题

修改

您应该创建一个允许使用文档文件夹

执行所有操作的类,而不是像这样使用

我已经在https://stackoverflow.com/a/45963431/4601900

中发布了答案

如果与

相关,请使用此课程