IOS / Objective-C:测试图像是不是存在[重复]
Posted
技术标签:
【中文标题】IOS / Objective-C:测试图像是不是存在[重复]【英文标题】:IOS/Objective-C: Test if image present [duplicate]IOS / Objective-C:测试图像是否存在[重复] 【发布时间】:2015-10-30 01:07:55 【问题描述】:对于与网站同步的应用,谁能推荐一种检查本地是否存在图像的好方法?
我想在从网络下载之前检查它是否已经下载到手机上。
我目前按照苹果的建议将图像本地存储在文档文件夹中,并通过包含以下代码的函数检索它。
- (UIImage*)loadImage
...
UIImage* image = [UIImage imageWithContentsOfFile:path];
return image;
谁能建议一种方法来检查是否存在本地文件?
【问题讨论】:
【参考方案1】:这应该像调用NSFileManager
的方法- fileExistsAtPath:
一样简单
NSString *filePath = //set your file path to the image's
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath])
UIImage *image = [UIImage imageWithContentsOfFile:filePath];
//the file exists
else
//the file does not exist, fetch it from the server
【讨论】:
【参考方案2】:如果您以不同的方式设置文件系统或寻找设置文件系统的不同方式,然后检查文档文件夹中是否存在文件,这是另一个示例。还显示动态检查
for (int i = 0; i < numberHere; ++i)
NSFileManager* fileMgr = [NSFileManager defaultManager];
NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSString* imageName = [NSString stringWithFormat:@"image-%@.png", i];
NSString* currentFile = [documentsDirectory stringByAppendingPathComponent:imageName];
BOOL fileExists = [fileMgr fileExistsAtPath:currentFile];
if (!fileExists)
cout << "DOESNT Exist!" << endl;
else
cout << "DOES Exist!" << endl;
【讨论】:
将if (fileExists == NO)
更改为if (!fileExists)
。以上是关于IOS / Objective-C:测试图像是不是存在[重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 Avplayer ios 10* 的屏幕截图图像是黑色图像
iOS复杂动画之抽丝剥茧(Objective-C & Swift)
iOS 12.4.2 上的 iOS 崩溃“无法执行读取 Objective-C 的支持代码”而不是 12.0.1