2015年8月10日月曜日

ファイルの保存先と保存方法について [Swift]

以前、端末内の写真を画面に表示する方法 [Swift]を紹介しましたが、今度はアプリ内にその写真を保存する方法を書きたいと思います。
大切な写真は日記として保存しておかないとですからね。

まずはファイルの保存先についてです。

主に4つのディレクトリから、データの種類や取り扱い方によって保存先を決定します。
それぞれの特性に合ってないと、データが消失したり、リジェクトされたりするので、慎重に判断する必要があります。
  1. /Documents:バックアップされる
    ユーザデータを保存する場所。
    ユーザに見せるファイルで、ユーザが作成や編集をしたファイルが該当する。
  2. /Library(/Caches以外):バックアップするか選択できる
    ユーザデータ以外の補助ファイルを保存する場所。
    アプリ固有のユーザに見せたくないファイルが該当する。
  3. /Library/Caches:バックアップされない
    再度ダウンロードしたり、再作成できるキャッシュファイルを保存する場所。
    一時データよりは長期的に保持したいけど、補助ファイルほどでない
    性能改善に適していて、データがいつ消失していても問題ない仕組みにしておく。
    端末容量が逼迫した場合は、起動していない時にシステムから削除されます。
  4. /tmp:バックアップされない
    起動中に必要な一時データを保存する場所。
    起動していない時に定期的にシステムから削除されるが、不要になったファイルは自分で消して容量を圧迫しないようにする。
どこに置く場合も、サブディレクトリを作成して整理整頓した方が、データを管理する上で分かり易くて良いと思います。
もっと詳しく知りたい場合は、プログラミングガイドをご参照下さい!
FileSystemProgrammingGuide.pdf

上記4つのディレクトリパスは、以下のコードで取得できます。


続いて、写真ファイルの保存方法になります。

保存場所として、Documents配下に "Photo" ディレクトリを作成しました。
ファイル名は被らないように "現在日時.png" です。


保存した写真を削除する場合は以下のようにします。


データの管理はアプリ開発でも重要なところだと思うので、慎重かつ綿密に設計すべし!

0 件のコメント:

コメントを投稿