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* 的屏幕截图图像是黑色图像

使用objective-c检查iOS更新是不是可用?

iOS复杂动画之抽丝剥茧(Objective-C & Swift)

iOS 12.4.2 上的 iOS 崩溃“无法执行读取 Objective-C 的支持代码”而不是 12.0.1

拖放:如果图像是链接(不是链接的 url),如何获取要删除的图像的 URL

Objective-C 是不是有任何基于非 Xcode 的命令行单元测试工具?