NSUserDefaults/NSCodingによる設定情報の保存 (3/8)
作成:2013-03-25 08:18
更新:2013-03-25 08:18
更新:2013-03-25 08:18
■保存された設定ファイルをチェックしよう
では、synchronizeで保存された設定ファイルの中身はどうなってるのでしょうか。~/Library/Preferencesを開き、設定ファイルを開いてみましょう。
設定ファイルは、「アプリ名.plist」というファイル名で保存されています。これを探し、ダブルクリックしてみましょう。Xcodeでファイルが開かれ、保存した内容が階層化されて表示されます。
この設定ファイルは「Property List Binary」というファイルとして保存されます。要するに、中身はバイナリファイルなのです。が、この内容を<File>メニューの<Export...>を使い、「Property List XML」というXML形式のファイルに書き出してみると、下のリスト欄のようなソースコードになっていることがわかるでしょう。
設定情報は、このようにXML形式で設定ファイルに保存されているのです。<plist>というタグの下に、保存された値の種類とその内容が以下のようなXMLのタグを使って記述されます。
※NSUserDefaultsを使って、ごく単純な値を読み書きするだけでいい、という人は、ここまで読めばもう十分です。ここから先は、更に「オリジナルクラスのデータをエンコード・デコードして初期設定に保存できるようにする」といったことを行いたい人向けです。「そんなの別にいらない」という人は、これでおしまい。お疲れ様でした!
設定ファイルは、「アプリ名.plist」というファイル名で保存されています。これを探し、ダブルクリックしてみましょう。Xcodeでファイルが開かれ、保存した内容が階層化されて表示されます。
この設定ファイルは「Property List Binary」というファイルとして保存されます。要するに、中身はバイナリファイルなのです。が、この内容を<File>メニューの<Export...>を使い、「Property List XML」というXML形式のファイルに書き出してみると、下のリスト欄のようなソースコードになっていることがわかるでしょう。
設定情報は、このようにXML形式で設定ファイルに保存されているのです。<plist>というタグの下に、保存された値の種類とその内容が以下のようなXMLのタグを使って記述されます。
<dict>今回の例ではNSDictionaryを保存していましたので、<key>の値には<dict>というタグが用意されますが、値の種類が変わればこのタグも変化します。さまざまな値を保存して、どんな形で記述されているか確かめてみると良いでしょう。
<key>キー</key>
<値のタイプ>……値の内容……</値のタイプ>
……必要なだけ記述される……
</dict>
※NSUserDefaultsを使って、ごく単純な値を読み書きするだけでいい、という人は、ここまで読めばもう十分です。ここから先は、更に「オリジナルクラスのデータをエンコード・デコードして初期設定に保存できるようにする」といったことを行いたい人向けです。「そんなの別にいらない」という人は、これでおしまい。お疲れ様でした!
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <? 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" > < dict > < key >memo</ key > < dict > < key >キー1</ key > < string >メモのテキスト</ string > < key >キー2</ key > < string >メモのテキスト</ string > ……略…… </ dict > </ dict > </ plist > |
※関連コンテンツ
「初心者のためのObjective-Cプログラミング入門」に戻る