gpt4 book ai didi

iphone - 将数据保存到缓存目录时出错 (iPhone)

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

我尝试使用以下代码保存图像:

- (void)writeData{

if(cacheFileName==nil)
return;
if(cacheDirectoryPath==nil)
return;


if (![[NSFileManager defaultManager] fileExistsAtPath:[self filePath]]) {

NSData *imageData = UIImageJPEGRepresentation(self.image, 0.9);

NSError *writeError= nil;

BOOL didWrite = [imageData writeToFile:[self filePath] options:NSAtomicWrite error:&writeError];

if(writeError)
NSLog([writeError localizedDescription]);

if(didWrite)
NSLog(@"image saved");
else
NSLog(@"image not saved");


}
}





- (NSString *)filePath{

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cacheDirectory = [paths objectAtIndex:0];
NSString *filename = [cacheDirectory stringByAppendingPathComponent:cacheDirectoryPath];
filename = [filename stringByAppendingPathComponent:cacheFileName];
NSLog(filename);

return filename;

}

我收到错误:

2009-06-23 16:39:19.740 XXX[33454:20b] Operation could not be completed. (Cocoa error 4.)

我查了一下,发现该错误具有以下含义:

 NSFileNoSuchFileError = 4,                 // Attempt to do a file system operation on a non-existent file

这没有意义,因为该文件不应该存在。

我尝试编写 png 表示形式并使用便捷方法:

- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag

我正在使用类似的代码来保存 plist,并且它们工作正常。我不确定问题是什么。有什么想法吗?

最佳答案

我发现您在缓存目录中使用了一些中间目录,它/它们是创建的吗?如果没有尝试删除它们或使用

-[NSFileManager createDirectoryAtPath:withIntermediateDirectories:attributes:error:]

在之前创建它们

关于iphone - 将数据保存到缓存目录时出错 (iPhone),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1035092/

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