我在一个文件夹中有一堆客户图像(名为 [code].png),但有些客户没有图像,所以我想显示一个占位符。
我正在检查图像 [code].png 是否存在,如果存在,则显示该图像,否则显示占位符。但是,fileExistsAtPath始终返回 false,即使对于存在的图像也是如此。
NSFileManager *m = [NSFileManager defaultManager];
NSString *imagePath = [NSString stringWithFormat:@"%@.png",code];
if ([m fileExistsAtPath:imagePath])
self.detailViewController.imageFrame.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@.png",code]];
else
self.detailViewController.imageFrame.image = [UIImage imageNamed:@"customer_large.png"];
这始终显示 customer_large。
但是,如果我将 imagePath 更改为图像的绝对路径并将显示的图像保留为相对文件名,则布尔值可以正常工作,并且显示的图像也可以正常工作。
这证明了我正在检查的文件名确实存在,正如图像显示的那样,但我显然在 fileExistsAtPath 方面遗漏了一些东西,因为当程序证明文件存在时它返回 false。