libro
www.tuyano.com
初心者のためのObjective-Cプログラミング入門

NSUserDefaults/NSCodingによる設定情報の保存 (3/8)

作成: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のタグを使って記述されます。
<dict>
    <key>キー</key>
    <値のタイプ>……値の内容……</値のタイプ>
    ……必要なだけ記述される……
</dict>
今回の例ではNSDictionaryを保存していましたので、<key>の値には<dict>というタグが用意されますが、値の種類が変わればこのタグも変化します。さまざまな値を保存して、どんな形で記述されているか確かめてみると良いでしょう。


※NSUserDefaultsを使って、ごく単純な値を読み書きするだけでいい、という人は、ここまで読めばもう十分です。ここから先は、更に「オリジナルクラスのデータをエンコード・デコードして初期設定に保存できるようにする」といったことを行いたい人向けです。「そんなの別にいらない」という人は、これでおしまい。お疲れ様でした!

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

<?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プログラミング入門」に戻る