その後のその後

iOSエンジニア 堤 修一のブログ github.com/shu223

NSFileManagerによるファイル・ディレクトリ操作(非deprecated版)

こちらの大変ありがたい記事を参考にユーティリティクラスを整理していたら、用いているNSFileManagerのメソッドの多くが現在ではdeprecatedとなっていたので、修正したものをこちらに載せておきます。

//ファイル一覧の取得
+ (NSArray*)fileNames:(NSString*)fileName {
    NSString* path=[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
	path=[path stringByAppendingPathComponent:fileName]; 
    //	return [[NSFileManager defaultManager] directoryContentsAtPath:path];
    return [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:nil];
}

//ファイル・ディレクトリが存在するか
+ (BOOL)existsFileWithName:(NSString*)fileName {
    NSString* path=[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
	path=[path stringByAppendingPathComponent:fileName]; 
	return [[NSFileManager defaultManager] fileExistsAtPath:path];
}

//ディレクトリの生成
+ (void)makeDir:(NSString*)fileName {
    if ([OOFileManager existsFileWithName:fileName]) return;
    NSString* path=[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
	path=[path stringByAppendingPathComponent:fileName];
    //	[[NSFileManager defaultManager] createDirectoryAtPath:path attributes:nil];
    [[NSFileManager defaultManager] createDirectoryAtPath:path withIntermediateDirectories:NO attributes:nil error:nil];
}

//ファイル・ディレクトリの削除
+ (void)removeFileWithName:(NSString*)fileName {
    if (![OOFileManager existsFileWithName:fileName]) return;
    NSString* path=[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
	path=[path stringByAppendingPathComponent:fileName]; 
	[[NSFileManager defaultManager] removeItemAtPath:path error:nil];
}