gpt4 book ai didi

ios - NSFileManager 不保存

转载 作者:行者123 更新时间:2023-11-28 20:30:39 27 4
gpt4 key购买 nike

我一直在尝试使用 NSFileManager 将图像缓存到我的沙盒应用程序的缓存目录中。不幸的是,我的代码似乎不起作用。

- (BOOL)saveImageToCacheFolder
{
NSFileManager *filemgr = [NSFileManager defaultManager];
NSString *cachePath = [[[filemgr URLsForDirectory:NSCachesDirectory inDomains:NSUserDomainMask] lastObject] absoluteString];
NSString *fullpath = [cachePath stringByAppendingPathComponent:@"test.jpg"];
NSURL *imageURL = [FlickrFetcher urlForPhoto:self.photoData format:FlickrPhotoFormatLarge];
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];

BOOL success = false;
if (imageData != nil) {
success = [imageData writeToURL:[NSURL URLWithString:fullpath] atomically:true];
if (!success) NSLog(@"Did Not Managed to save the image");
}
return success;
}

这是我正在尝试做的事情。首先,获取默认的 NSFileManager。其次,获取我的应用程序缓存目录的相对路径。第三,附加我的文件的名称(这里我现在只写了测试)。第四,将我的图像转换为 NSData。四、将NSData对象写入指定路径。

编辑:添加了用于检查 imageData 是否为 nil 的 if 语句

最佳答案

试试这个:

NSArray *myPathList = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachePath = [myPathList objectAtIndex:0];
NSString *fullpath = [cachePath stringByAppendingPathComponent:@"test.jpg"];

NSURL *imageURL = [FlickrFetcher urlForPhoto:self.photoData format:FlickrPhotoFormatLarge];
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];

if (imageData != nil) {
success = [imageData writeToURL:[NSURL fileURLWithPath:fullpath] atomically:YES];
if (!success) NSLog(@"Did Not Managed to save the image");
}

关于ios - NSFileManager 不保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12241745/

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