2013-01-31 2 views
0

Я использую NSFileManager для поиска файла «index.png». если файл не существует, я пытаюсь отобразить изображение по умолчанию. Я использую код ниже, но не работает. Я делаю что-то неправильное здесь?NSFileManager для поиска файла изображения в папке

NSString *path; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString path1 = [[paths objectAtIndex:0] stringByAppendingPathComponent:literature.localURL.path]; 
path = [path1 stringByAppendingPathComponent:@"index.PNG"]; 

    if ([[NSFileManager defaultManager] fileExistsAtPath:path]){ 
     cell.preview = [UIImage imageWithContentsOfFile:path1]; 
    } 
    else { 
     cell.preview = [UIImage imageNamed:@"Default-HTML5.PNG"]; 
    } 
} 
+0

Попытайтесь напечатать путь NSString - увидеть, что в нем, как только вы создали путь. Что в литературе.localURL? –

ответ

1

Вы устанавливаете путь, равный двум различным вещам. Используйте другую строку для одного из них, например

NSString *path1 = [[paths objectAtIndex:0] stringByAppendingPathComponent:literature.localURL.path]; 

и держать другой тот же

и сделать «index.PNG» «index.png». iOS чувствительна к регистру.

+0

Крис. Я внес изменения, а путь1 показывает файлы вместо папок. Также путь добавляет folderpath/index.png вместо поиска в папке. –

1
cell.preview = [UIImage imageWithContentsOfFile: path]; 

цитата яблоко документ:

imageNamed: 
Returns the image object associated with the specified filename. 

+ (UIImage *)imageNamed:(NSString *)name 
Parameters 
name 
The name of the file. If this is the first time the image is being loaded, the method looks for an image with the specified name in the application’s main bundle. 

ваш PNG не в главном расслоении, но в вашей папке

imageWithContentsOfFile: 
Creates and returns an image object by loading the image data from the file at the specified path. 
+0

Спасибо Го. Это имеет смысл .. :) –

+0

@akash добро пожаловать –

+0

Го. Я следовал за предложением Криса, но все файлы по-прежнему отображают изображение по умолчанию, даже если изображение index.png существует в некоторых папках. Я обновил код выше. –

0
imageNamed: 

для изображений

метод ло oks для изображения с указанным именем в главном комплекте приложения.

, для документов директории, вы должны использовать

[UIImage imageWithContentsOfFile: path]; 

, как Guo Luchuan сказал

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