2015-10-30 2 views
-1

Для приложения, синхронизированного с веб-сайтом, может ли кто-нибудь рекомендовать хороший способ проверить, существует ли изображение локально?IOS/Objective-C: проверьте, присутствует ли изображение

Я хочу проверить, загружен ли он на телефон перед его загрузкой из Интернета.

В настоящее время я сохраняю изображения локально в папке документов в соответствии с рекомендациями apple и извлекаю их с помощью функции, которая включает следующий код.

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

Может кто-нибудь предложить способ проверить, есть ли в местном файле файл?

ответ

1

Это должно быть так же просто, как вызов метода NSFileManager «s - 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

если вы создали файловую систему по-разному или искать другой способ создания файловой системы, а затем проверить, если файл существует в папке документов, это еще один пример. также показывают динамическую проверку

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

Изменить 'if (fileExists == NO)' to 'if (! fileExists)'. – rmaddy

Смежные вопросы