軽い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>
まぁ、こんな感じで。
適当にExcelで
サクラエディタにコピーしてタブを全部消して貼りつけました。
あとはこのプロパティリストを読み込むだけです。このソースはかなり簡単。
※xxxはファイル名 NSString* path = [[NSBundle mainBundle] pathForResource:@"xxx" ofType:@"plist"]; NSDictionary* list = [NSDictionary dictionaryWithContentsOfFile:path];
これだけで、内容をすべて読み込めます。
また、私の場合は以下のようにkeyだけのArray配列をあらかじめ作っておいて
その後の処理を簡素化しています。
NSArray* keyList = [list allKeys];
こんな感じです。