gpt4 book ai didi

objective-c - writeToFile 给出 NSUnderlyingError=0x6a3d450 "The operation couldn’ t 完成。是一个目录”

转载 作者:行者123 更新时间:2023-12-03 16:47:25 24 4
gpt4 key购买 nike

我正在尝试将文件写入 GCD 中的路径,但它不起作用。不断收到错误“NSUnderlyingError=0x6a3d450”操作无法完成。是一个目录”

dispatch_queue_t downloadQueue = dispatch_queue_create("flickr downloader", NO); 

dispatch_async(downloadQueue, ^{

NSString* name = [photoDictionary valueForKey:@"title"];
path = [path stringByAppendingPathComponent:id];

if(![manager fileExistsAtPath:path]){
if([manager createDirectoryAtPath: path withIntermediateDirectories:NO attributes:nil error:nil]){ //create intermediate directories
data = [NSData dataWithContentsOfURL:[FlickrFetcher urlForPhoto:photoDictionary format:FlickrPhotoFormatOriginal]];
NSError *error = nil;
BOOL success = [data writeToFile:path options:NSDataWritingAtomic error:&error];
if (!success) {
NSLog(@"Failed to write to file with error: %@", [error description]);
}

if([data writeToFile: path atomically:YES]){
NSLog(@"data written to file");
}
}
}
else{
if([manager fileExistsAtPath:path]){
data = [manager contentsAtPath:path];
}
}


dispatch_async(dispatch_get_main_queue() , ^{
sender.navigationItem.rightBarButtonItem = item;
sender.photoData = data;
sender.photoName = name;
//call the segue
[sender performSegueWithIdentifier:segueTitle sender:sender];
});

});

dispatch_release(downloadQueue);

我遇到的问题是 [data writeToFile: pathatomically:YES] 永远不会执行。但是,数据路径确实已创建,当我“po data”时,程序有点挂起,所以我猜调用 writeToFile 时数据尚未完全获取。但我无法准确指出问题所在,也不知道如何解决。任何建议都将不胜感激。谢谢!

最佳答案

您的代码正在您接下来尝试创建文件的路径中创建一个目录。将其删除或创建父目录

关于objective-c - writeToFile 给出 NSUnderlyingError=0x6a3d450 "The operation couldn’ t 完成。是一个目录”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10977295/

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