こんにちは、Unityエンジニアのオオバです。

Objective-Cでダウンロードした画像が、
ストレージに存在するかを確認します。

fileExistsAtPathメソッドを使う

NSFileManagerfileExistsAtPathメソッドに
画像のパスを渡してあげると良いです。

BOOL isExist = [[NSFileManager defaultManager]  
    fileExistsAtPath:filePath];  

filePath部分を適宜変更してもらえれば
ファイルの存在可否でBOOL型が返却されます。

👉DOTweenの教科書を読んでUnityアニメーションをプログラミングしてみよう!

3ステップの実装手順

  1. ファイルまでのパスを作成
  2. NSFileManagerを取得
  3. NSFileManagerfileExistsAtPathメソッドを実行

この3ステップで確認できます。

以下のサンプルではimg.pngというファイルが
NSDocumentDirectoryにダウンロードされていることを確認するコードです。

ステップ1. ファイルまでのパスを作成

確認するファイルパスを作成します。
変数filePathに格納。

NSArray *dirPaths = NSSearchPathForDirectoriesInDomains  
    (NSDocumentDirectory, NSUserDomainMask, YES);  
NSString *filePath = [[dirPaths objectAtIndex:0]  
    stringByAppendingPathComponent:@"img.png"];  

今回はドキュメントディレクトリに
保存されたimg.pngの有無を確認するサンプルです。

ステップ2. NSFileManagerを取得

NSFileManager *fileManager = [NSFileManager defaultManager];  

NSFileManagerのクラスメソッドdefaultManager
NSFileManagerインスタンスを取得します。

ステップ3.NSFileManagerのfileExistsAtPathメソッドを実行

BOOL isExist = [fileManager fileExistsAtPath:filePath];  

ステップ1〜2で用意した
NSFileManagerとファイルパスを使って
ファイルの確認をします。
NSFileManagerfileExistsAtPathメソッド実行で
BOOL型が返ってきます。

まとめ

Objective-Cを使って
ストレージ内のファイルの存在確認をしました。

「NSFileManagerのfileExistsAtPathメソッドを使う」

これだけ覚えておけば大丈夫でしょう。

最後にソースコード全体を添付します。

// 【1. ファイルまでのパスを作成】  
// ダウンロードした画像が格納されたディレクトリパス取得(適宜変更してください)  
NSArray *dirPaths = NSSearchPathForDirectoriesInDomains  
    (NSDocumentDirectory, NSUserDomainMask, YES);  

// ファイルパスの作成  
NSString *filePath = [[dirPaths objectAtIndex:0]  
    stringByAppendingPathComponent:@"img.png"];  

// 【2. NSFileManagerを取得】  
NSFileManager *fileManager = [NSFileManager defaultManager];  

// 【3. NSFileManagerのfileExistsAtPathメソッドを実行】  
// fileExistsAtPathメソッドでファイルの有無確認  
BOOL isExist = [fileManager fileExistsAtPath:filePath];  

// 1が出力されたら存在する  
NSLog(@"isExist: %d", isExist);  

ご参考にどうぞ。

オススメ記事