9/12/2011

PropertyListからNSDictionaryを作り、Keyをアルファベット順に並べ替えてNSArrayに格納する

まずはPropertyListを作る。
仮にDictionary.plistとする。
Dictionary.plist

次にDictionary.plistからNSDictionaryを作る。

NSString *path = [[NSBundle mainBundle]pathForResource:@"Dictionary" ofType:@"plist"];
NSDictionary *myDictionary = [[NSDictionary alloc]initWithContentsOfFile:path];

最後にKeyをアルファベット順に並べ替えてNSArrayに格納する。

NSCountedSet *cset = [[NSCountedSet alloc] initWithArray:[myDictionary allKeys]];
NSArray *keyArray = [[NSArray alloc]initWithArray:[[cset allObjects]sortedArrayUsingSelector:@selector(compare:)]];
[cset release];

このmyDictionaryとkeyArrayをUITableViewControllerクラスのメンバとしておけば、keyArrayをUITableViewのテーブルの表示やセルタイトルに使い、テーブルセル選択時にセルのタイトルをkeyとしてmyDictionaryのvalueが取り出せる。
NSDictionaryのKeyを配列として持ちたい、かつそれがアルファベット順であってほしい時にこれを使う。あるいはテーブルの構成要素をプロパティリストで表現したい時にも使える。

0 件のコメント:

コメントを投稿