0

我正在使用 NSFileManager 搜索“index.png”文件。如果文件不存在,那么我正在尝试显示默认图像。我正在使用下面的代码,但它不起作用。我在这里做错了什么吗?

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"];
    }
}
4

3 回答 3

1

您正在设置路径等于两个不同的东西。例如,对其中一个使用不同的字符串

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

并保持另一个相同

并制作“index.PNG”“index.png”。iOS 区分大小写。

于 2013-01-31T03:00:13.187 回答
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.
于 2013-01-31T03:00:36.433 回答
0
imageNamed: 

图像

该方法在应用程序的主包中查找具有指定名称的图像。

, 对于文档目录,您必须使用

[UIImage imageWithContentsOfFile: path];

如前所述Guo Luchuan_

于 2013-01-31T03:13:37.763 回答