Skip to content
This repository has been archived by the owner on Jun 20, 2023. It is now read-only.

7.2 NSFileManager

Koya Tamura edited this page May 14, 2013 · 14 revisions

File System Programming Guide

ファイルシステムプロ グラミングガイド

NSFileManager Class Reference

iOS のファイルシステム

filesystem_in_iOS

ファイルシステムプロ グラミングガイド から引用

path 説明
<Application_Home>/Documents/ ユーザが作り出したデータをファイルとして保存したい場合ここに保存してください。iTunes によってバックアップされます。
<Application_Home>/Library/Caches システムが再度取得可能なデータをキャッシュしておきたい場合はここに保存してください。iTunes によってバックアップされません。
<Application_Home>/tmp/ 一時的に保存しておきたいデータがればここに保存してください。必要がなくなった際にはその都度削除するようにしてください。iTunes にはバックアップされません。

Document ディレクトリパス取得

    NSArray *urls = [fileManager URLsForDirectory:NSDocumentDirectory
                                             inDomains:NSUserDomainMask];
    NSLog(@"%@", urls[0]);

console log

MixiFileManagerSample[11986:c07] file://localhost/Users/koya.tamura/Library/Application%20Support/iPhone%20Simulator/6.1/Applications/1B450FEB-EEA8-4A1D-80EB-52C6788A5717/Documents/

URL ベースのパスが取得できます。シュミレータだと Mac のファイルシステムパスが表示されます。

この URL に保存したいファイル名を追加して新たな URL を生成すれば保存が可能です。

データの保存

    NSDictionary *savedDict = @{@"key1":@"value1", @"key2":@"value2"};
    [savedDict writeToURL:fileURL atomically:YES];

データの読み込み

    NSFileManager *fileManager = [NSFileManager defaultManager];
    if([fileManager fileExistsAtPath:fileURL.path]){ //[1] ファイルパスが存在するかどうかを確認
        NSDictionary *readDict = [NSDictionary dictionaryWithContentsOfURL:[self getFileURL]]; //[2] 保存したファイルを dictionary として生成
        NSLog(@"%@", readDict);
    }else{
        NSLog(@"not exist");
    }

console log

MixiFileManagerSample[43891:c07] {
    key1 = value1;
    key2 = value2;
}

ファイルの削除

    NSFileManager *fileManager = [NSFileManager defaultManager];
    if([fileManager fileExistsAtPath:fileURL.path]){
        NSError *error = nil;
        [fileManager removeItemAtURL:fileURL error:&error];
    }else{
        NSLog(@"not exist");
    }

問題

下図の画面を作成して、以下の仕様を満たすプログラムを作成してください。

  • save ボタンを押すと textField のテキストが保存される。
  • プロセスを切って再度プログラムを起動して read ボタンを押すと textField に保存したテキストが表示される
  • delete ボタンで保存されたテキストを削除する

practice

はじめに

  1. iOSについて

  2. Xcode最初のステッフ

  3. 導入

  4. Objective C の基礎

  5. メモリ管理

  6. 1.3 UIViewController1 UIViewController のカスタマイズ(xib, autoresizing)

  7. 1.3 UIViewController1 UIViewController のカスタマイズ(storyboard)

  8. UIViewController2 - ModalViewController

  9. UIViewController2 - ModalViewController(storyboard)

  10. UIViewController3 - ライフサイクル

  11. HomeWork 1 Objective C の基本文法

  12. HomeWork 2 UIViewControllerとModalViewController

  13. HomeWork 3 UIViewController + Animation

  14. UIKit 1 - container, rotate-

  15. UINavigationController

  16. UITabController

  17. Custom Container View Controller

  18. Supporting Multiple Interface Orientations

  19. HomeWork 1 - タブバーからモーダルビューを表示する

  20. HomeWork 2 - NavigationController

  21. HomeWork 2.3 デバイスことに回転対応

  22. UIKit 2- UIView -

  23. UIView

  24. UIView のカスタマイズ

  25. UIView Animation

  26. HomeWork 1 - UIScrollView

  27. UIKit 3 - table view -

  28. UITableView について

  29. UITableViewとNavigationController

  30. custom UITableViewCell の作成

  31. UITableViewのその他のオプション、カスタマイズ

  32. HomeWork 1 - Dynamic height with a custom uitableviewcell

  33. UIKit 4 - image and text -

  34. UIImagePickerController

  35. Assets Library

  36. UITextFiled, UITextView

  37. KeyboardNotification

  38. Homework 1 - フォトの複数枚選択

  39. ネットワーク処理

  40. NSURLConnection

  41. JSONのシリアライズとデシリアライズ

  42. UIWebView

  43. ローカルキャッシュと通知

  44. NSUserDefaults, Settings Bundle

  45. NSFileManager

  46. Key Value Observing

  47. NSNotification、NSNotificationCenter を用いた通知

  48. UILocalNotification

  49. Blocks, GCD

  50. Blocks

  51. GCD

  52. 【演習】GCD,-Blocksを用いたHTTPリクエストマネージャの作成

  53. 設計とデザインパターン

  54. クラス設計 1

  55. クラス設計 2

  56. [クラス設計演習] (https://github.com/mixi-inc/iOSTraining/wiki/9.3-%E3%82%AF%E3%83%A9%E3%82%B9%E8%A8%AD%E8%A8%88%E6%BC%94%E7%BF%92)

  57. 開発ツール

  58. Instruments, デバッガ

  59. CocoaPods

  60. テスト

  61. iOS開発におけるテスト

  62. GHUnit

  63. Kiwi

  64. KIF

  65. In-App Purchase

  66. In-App Purchase

  67. 付録

  68. Tips of Xcode

  69. Auto Layout 入門

  70. Auto Layout ドリル

Edit sidebar

Clone this wiki locally