gpt4 book ai didi

ios - iOS 中的持久图像存储

转载 作者:行者123 更新时间:2023-11-29 01:52:01 24 4
gpt4 key购买 nike

我使用此方法来存储图像,据我了解,此方法会持久存储数据。问题是当我重新启动模拟器时,所有图像都消失了/无法加载。无论如何,这是代码:

- (NSString *)saveImage:(NSMutableString*)account{
NSString *dir=[NSString stringWithFormat:@"http://example.com"];
NSURL *url=[NSURL URLWithString:dir];
NSData *imageData = UIImagePNGRepresentation([UIImage imageWithData:[NSData dataWithContentsOfURL:url]]);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [paths objectAtIndex:0];
NSString *imageName = [NSString stringWithFormat:@"%@%@", account,@"Banner.png"];
NSString *imagePath = [documentDirectory stringByAppendingFormat:imageName];
NSLog((@"pre writing to file"));
NSError *writeError = nil;
if(![imageData writeToFile:imagePath options:NSDataWritingAtomic error:&writeError]){
NSLog(@"%@: Error saving image: %@",[self class], [writeError localizedDescription]);
}
else{
NSLog(@"the cachedImagePath is %@", imagePath);
return imagePath;
}
return NULL;
}

这是用于加载图像的方法:

[UIImage imageWithContentsOfFile:bannerPath]

bannerPath是保存在NSUserDefaults中的保存方法返回的imagePath。

我做错了什么吗?我该如何解决?谢谢。

编辑:我用下面的方法检查文件是否存在:

[[NSFileManager defaultManager] fileExistsAtPath:bannerPath];

我返回 false。

最佳答案

NSString *imagePath = [documentDirectory stringByAppendingFormat:imageName]; 

我认为应该是

NSString *imagePath =    [documentDirectory stringByAppendingPathComponent:imageName]; 

关于ios - iOS 中的持久图像存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31296693/

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