Objective-C でディレクトリを中間階層も含めて作成する : Objective-C プログラミング

PROGRAM


Objective-C でディレクトリを中間階層も含めて作成する

Objective-C で、ディレクトリを作成したい場合には、次のように実装します。

// エラー情報を取得するための変数を用意します。

NSError* error = nil;

 

// 文字列型の変数 path で指定したディレクトリを作成します。

[[NSFileManager defaultManager] createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:&error];

このようにすることで、NSString 型の変数 path で指定したディレクトリを作成することができました。

戻り値は、ディレクトリが作成された場合は YES を、作成されなかった場合は NO を返します。指定したディレクトリが既に存在していてもエラーにはなりません。エラーが発生した場合には error 引数で指定した NSError 型の変数にその内容が格納されます。

 

このメソッドの便利なところは、引数 withIntermediateDirectories に YES を指定することで、途中のディレクトリ階層が存在しなくても、それを自動的に作成してくれるところでしょうか。

今は非推奨となっている createdirectoryAtPath:attributes: メソッドだと、途中のディレクトリが存在しない場合には、それをひとつずつ再帰的に作成して行かなければならなかったので、ディレクトリを作成するのもなかなか大変な作業でした。

 

なお、attributes 変数では、作成するディレクトリの属性情報を NSDictionary 型で指定することができるようですが、詳細がわからなかったので、ここでは nil を指定しておきました。

[ もどる ]