iOS SDKメモ NSDictionaryの内容を出力してみる

iPad,Mac,プログラミング

NSArrayやNSMutableArrayみたいな配列は順番に検索するか、値の位置を特定することが必要なんだけど、Objective-Cだと、PHPなどでいう連想記憶とほぼ同じ使い方ができるディクショナリ(辞書?)っていう仕組みを使えるNSDictionaryクラスがある。

定義はこんな感じになる。

NSDictionary* dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"value", @"key", nil];

コードはこんな感じで書いてみる。

// ディクショナリを定義
id object = nil;
NSDictionary* dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"nagoya", @"aichi", @"gifu", @"gifu", @"tsu", @"mie", nil];
// キーから値を検索して出力
object = [dictionary objectForKey:@"aichi"];
NSLog(@"aichi = %@", object);
// キーで検索できない場合を出力
object = [dictionary objectForKey:@"tokyo"];
NSLog(@"tokyo = %@", object);

NSArrayやNSMutableArrayと違うとこは、値を配列のインデックスを使ってとってくるんじゃなく、キーの値で取得ってとこ。

実行した結果はこんな感じ。
ディクショナリにないキーを指定すると、nilになるとこがミソかも。

2010-10-29 01:09:19.667 Dictionary[21951:a0f] aichi = nagoya
2010-10-29 01:09:19.719 Dictionary[21951:a0f] tokyo = (null)

んまま、そんなとこで。