gpt4 book ai didi

ios - 在使用包含新文件夹的路径调用 writeToFile 之前,我们是否需要在 Documents 中创建子文件夹?

转载 作者:技术小花猫 更新时间:2023-10-29 10:07:27 29 4
gpt4 key购买 nike

我正在尝试写入以下路径:

        NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *storePath = [docDir stringByAppendingPathComponent:@"/newfolder/test.jpg"];

NSData *data = [NSData dataWithData:UIImagePNGRepresentation(image)];
BOOL saved = [data writeToFile:storePath atomically:NO];
NSLog(@"%c", saved);

现在,什么也没有打印出来,我在模拟器中也看不到文件。是不是因为文档主文件夹中的“newfolder”文件夹尚未创建。如果是这样,如果它还不存在,是否有办法创建它?

谢谢!

最佳答案

是的,您必须先创建文件夹。使用 NSFileManager createDirectoryAtPath:withIntermediateDirectories:attributes:error: 传递您要创建的文件夹的路径(而不是您要写入的文件)。

NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *storePath = [docDir stringByAppendingPathComponent:@"newfolder/test.jpg"];

[[NSFileManager defaultManager] createDirectoryAtPath:[storePath stringByDeletingLastPathComponent] withIntermediateDirectories:YES attributes:nil error:nil];

NSData *data = [NSData dataWithData:UIImagePNGRepresentation(image)];

您应该检查这些方法的返回值并处理任何失败。

关于ios - 在使用包含新文件夹的路径调用 writeToFile 之前,我们是否需要在 Documents 中创建子文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13634424/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com