[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…