フォルダーに顧客の画像 ([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 を画像への絶対パスに変更し、表示される画像を相対ファイル名のままにしておくと、ブール値は正しく機能し、表示される画像も機能します。
これは、画像が表示されるように、チェックしているファイル名が存在することを証明しますが、プログラムがファイルの存在を証明したときに false を返すため、 fileExistsAtPath に関して明らかに何かが欠けています。