IOS / Objective-C:测试图像是否存在

时间:2015-10-30 01:07:56

标签: ios objective-c image

对于与网站同步的应用,任何人都可以推荐一种检查本地图片是否存在的好方法吗?

我想在从网上下载之前检查它是否已经下载到手机中。

我目前正按照apple的建议将图像存储在文档文件夹中,并通过包含以下代码的函数检索它。

- (UIImage*)loadImage
{
...
    UIImage* image = [UIImage imageWithContentsOfFile:path];
        return image;
}

有人可以建议一种方法来检查是否存在本地文件?

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:1)

如果您以不同方式设置文件系统或寻找设置文件系统的不同方式,然后检查文档文件夹中是否存在文件,则另一个例子。还显示动态检查

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;
    }
}