軽いTips NSDictionary

軽いTipsでもたまには書きましょう。
STLで言うstd::mapに相当するのが『NSDictionary』クラス。
ちょっと適当に外部で編集したファイルを読み込んで、リスト化したかったので使ってみました。


行いたいこととしては、keyとvalueが書いてあるテキストファイルを読み込んで
リスト化して、後々はkeyを指定すれば適当なvalueが手に入る形に、と。


今回やったこととしては、まず適当にXcode側でプロパティリストを作ります。
右クリックの「New File...」から左のタブで「Resource」→「Property List」を選択します。
名前などは、まぁ好きなようにつけてください。
そうして出来上がったファイルを右クリックして「Open As」→「Source Code」で直接編集します。

<?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>hoge</key>
<string>hogehoge</string>
</dict>
</plist>


まぁ、こんな感じで。
適当にExcelhogehogehogeのテキストファイル作って、
サクラエディタにコピーしてタブを全部消して貼りつけました。


あとはこのプロパティリストを読み込むだけです。このソースはかなり簡単。

※xxxはファイル名
NSString* path = [[NSBundle mainBundle] pathForResource:@"xxx" ofType:@"plist"];
NSDictionary* list = [NSDictionary dictionaryWithContentsOfFile:path];


これだけで、内容をすべて読み込めます。
また、私の場合は以下のようにkeyだけのArray配列をあらかじめ作っておいて
その後の処理を簡素化しています。

NSArray* keyList = [list allKeys];


こんな感じです。