【iOS】サンドボックス内にある、指定した拡張子のファイルをリスト化する
今回は題名にもありますが、サンドボックス内に保存されている指定した拡張子のファイルをリスト化して、テーブルビューにファイル名を表示させる方法を書きたいと思います。
サンドボックス内のファイル
XcodeのOrganizerを開くとサンドボックス内のファイルを見ることができます。
サンドボックス内には複数の画像ファイルを用意しています。
これらの拡張子「jpg」ファイルのみを抜き出し、ファイル名を配列に格納してリスト化します。
ソースコード
サンドボックス内にあるファイルやディレクトリの一覧を取得するにはNSFileManagerクラスの「contentsOfDirectoryAtPath:error:」メソッドを使用します。
また、他の拡張子との比較には [content hasSuffix:extension]で文字列「content」が”.jpg”で終わる文字列であればTRUEを返し、”.jpg”のみを抜き出します。
あとは[self getFileList:@”.jpg”]で実行します。
- (void)viewDidLoad { [super viewDidLoad]; [self getFileList:@".jpg"]; // 指定する拡張子 } // 指定した拡張子のファイルをリスト化------------------------------------------------------------------------------------------------ -(NSArray *)getFileList:(NSString *)extension{ // 格納する配列を生成する _fileList = [[NSMutableArray alloc] init]; // パスを指定する NSFileManager* fileManager = [[NSFileManager alloc] init]; NSString *itemPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; NSString *directoryPath = [itemPath stringByAppendingPathComponent:@"指定フォルダ名前"]; for(NSString *content in [fileManager contentsOfDirectoryAtPath:directoryPath error:nil]) { // 拡張子を抜く----------------------- if ([content hasSuffix:extension]) { NSString *content2 = [content stringByDeletingPathExtension]; // 配列に追加する [_fileList addObject:content2]; NSLog(@"array:%@", _fileList); } } return _fileList; }
実行結果
抜き出した配列を見てみましょう。
指定したファイルのファイル名だけを格納しています。
テーブルビューに反映させる
先ほど抜き出した配列をテーブルビューに反映させるとサンドボックス内の指定したファイル名を表示することができます。
今回はこれでおしまいです。
参考にしたURLです。
Objective-C – 特定の拡張子のファイルをリスト化 – Qiita
コメントをどうぞ