前回、iPhoneの直下のディレクトリフォルダに、[Objective-C][iPhone sdk]Documents内にテキストファイルを書き出すというタイトルで、テキストファイルを吐き出す方法について書きましたが、今日は、前回、紹介した方法と違う方法を発見したので、紹介します。
前回は、NSStringを使ってなか強引に空文字列を作り出すことによってファイルを作成しました。
今回は、もっとスマートにいきたいと思います。
//dbが存在しているかどうかの確認 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *dbPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"test.db"]; //ファイルが存在しない場合 if (![[NSFileManager defaultManager] fileExistsAtPath:dbPath]) { //ファイルを作成する BOOL result = [[NSFileManager defaultManager] createFileAtPath:dbPath contents:nil attributes:nil]; //ファイル作成が失敗した場合 if (!result) { } } |
前回と違うのは、NSFileManagerクラスのcreateFileAtPath:contents:attributesメソッドを使ってファイルを作成したところ。
もともと、NSFileManagerクラスは、ファイルのコピー、削除、作成ということに特化したクラスなので、きっとこれだけで作成できるだろうと思って調査したら案の定、空ファイルを作ることができました。
戻り値が、BOOL型なので、成功した場合と、失敗した場合とで処理を切り分ければ後はオッケーなのかと。
しかし、BOOL型は、C言語にビルトインされた型ではなくて、Objective-Cで実装された型なんですね。
そこら辺については、↓に書いてありました。こういう時に、すぱっとわかる書籍が手元にあると大変助かる。
[本]詳解 Objective-C 2.0
参考
[Objective-C][iPhone sdk]Documentsディレクトリを取得
0 コメント:
コメントを投稿