[iPhone] plist から情報を取得する
plist とはプロパティリストのことで、アップル特有のデータフォーマットで中身は XML です。アプリの情報で info.plist とか使うので、iPhone アプリ開発時には一度は使ったことがあると思います。
今回はアプリに渡す固定値を plist で渡すことをやりました。
plist の書き方
Xcode なら plist 用のエディタがあるので、それを使うのが最も簡単です。ただ、件数が多いデータを作成する場合手作業では面倒なので、簡単なスクリプトを組んで生成したいところです。今回、私は PHP で2000件ほどのデータを plist に書き出しました。
plist の書き方ですが以下のようになります。
NSString
<string> String Data</string;>
NSNumber
<integer>123456</integer> <real>3.141592</real> <true/> <false/>
NSData
<data>NS DATA</data>
NSDate
<date>2009-08-18</date>
NSArray
<array> <string>name1</string> <string>name2</string> </array>
NSDictionary
<dict> <key>key1</key> <string>value1</string> </dict>
これらは組み合わせても使えます。また plist は XML なので XML のフォーマットで作成します。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer/DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>name</key>
<string>yamada taro</string>
<key>age</key>
<integer>20</integer>
</dict>
<dict>
<key>name</key>
<string>tanaka hanako</string>
<key>age</key>
<integer>22</integer>
</dict>
</array>
</plist>
この plist を Xcode のエディタで開くと下記のようになります。

plist を読み込む
上記で作成した plist を NSArray に読み込みます。hoge.plist と名前を付けて、Xcode で Resource フォルダに入れておきます。
NSString* path = [[NSBundle mainBundle] pathForResource:@"hoge" ofType:@"plist"]; NSArray* plist = [NSArray arrayWithContentsOfFile:path]; NSLog(@"%@", plist);
上記の実行結果は以下のようになります。
(
{
age = 20;
name = "yamada taro";
},
{
age = 22;
name = "tanaka hanako";
}
)
関連する投稿
2 comments
コメントをどうぞ
Additional comments powered by BackType
1outwards…
…
Dreamproxies…
plist ã?¨ã?¯ã??ã??ã?‘ã?†ã?£ã?ªã??ã??ã?®ã?“ã?¨ã?§ã??ã?¢ã??ã??ã??ç‰?有ã?®ã?‡ã??ã?¿ã??ã?©ã??ã?žã??ã??ã?§ä¸?èº?ã?¯ XML ã?§ã?™ã??ã?¢ã??ã?ªã?®æ?…å?±ã?§ info.plist…