iPhone ファイル操作系
はじめに
こんにちはビンゴ中西です。
Objective-Cのファイル系の処理の覚え書きです。
ファイル存在チェック
if ([[NSFileManager defaultManager] fileExistsAtPath:ファイルパス]){ // あるとき }else{ // ないとき }
Documentsディレクトリの取得
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); NSLog(@"%@", paths[0]);
配列で返ってくるので、こいつの0番目。
ファイルに書き込み
[@"" writeToFile:ファイルパス atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSStringのメソッドを使う。
エラーハンドリングは今回省略してます。
iPhoneシミュレータの場所
iPhoneのシミュレータの場所は、
~/Library/Application Support/iPhone Simulator
ディレクトリ名にスペースが入っておりターミナルから移動するには、
$ cd ~/Library/Application\ Support/iPhone\ Simulator
とスペースをエスケープしてやらないといけないので大変なので、
$ open ~/Library
としてファインダーで確認してます。
NSMutableArrayをファイルにシリアライズ
self.arr = [[NSMutableArray alloc] init]; [self.arr writeToFile:ファイルパス atomically:YES];
NSStringのときと同じで、writeToFileメソッドを使う。 一緒なので覚えるのが楽。
できたファイルを開いてみると以下のようになっていました。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array/> </plist>
NSMutableArrayをシリアライズしたファイルから作成
NSMutableArray *arr = [NSMutableArray arrayWithContentsOfFile:ファイルパス];
参考
EZ-NET: ファイルやディレクトリが存在するかを判定する : Objective-C プログラミング
iOS でデータを永続化する方法 - A Day In The Life
Xcode4でのiPhoneシミュレータ保存場所 - 自堕落なぺぇじ
- 作者: 林晃
- 出版社/メーカー: シーアンドアール研究所
- 発売日: 2012/05/26
- メディア: 単行本(ソフトカバー)
- クリック: 6回
- この商品を含むブログ (1件) を見る