iPhoneアプリ開発の虎の巻
HOME > NSMutableDictionary

NSMutableDictionary

NSMutableDictionaryクラスは、NSDictionaryを可変としたい場合に使用します。
NSMutableDictionaryはNSDictionaryを継承していますので、NSDictionaryのメソッドはそのまま使用できます。

NSMutableDictionaryのクラス階層

NSObjectNSDictionary ↑ NSMutableDictionary

生成

// 空の可変ディクショナリ生成例
NSMutableDictionary *mdic = [NSMutableDictionary dictionary];

NSMutableDictionaryのメソッド

【NSMutableDictionaryの主要メソッド】
メソッド名 説明
-(void)setObject:(id)anObject forKey:(id)aKey 要素を追加する
(例)キー"tokyo"、要素"shinjuku"を追加する
 [mdic setObject:@"shinjyuku" forKey:@"tokyo"];
-(void)removeObjectForKey:(id)aKey 指定したキーの要素を削除する
(例)キー値"tokyo"の要素を削除する
 [mdic removeObjectForKey:@"tokyo"];
-(void)setDictionary:
(NSDictionary *)otherDictionary
別のディクショナリで上書きする
(例)mdicの内容をdicの内容で上書きする
 [mdic setDictionary:dic];
-(void)removeAllObjects ディクショナリから全要素を削除する
(例)全要素削除
 [mdic removeAllObjects];

主要なメソッドのみ掲載しています。
 上記「NSMutableDictionaryのクラス階層」にあるクラスのメソッドも使用できます。

NSMutableDictionary例文

// ディクショナリに要素を追加する
NSMutableDictionary *mdic = [NSMutableDictionary dictionary];
[mdic setObject:@"青森市" forKey:@"AOMORI"];
[mdic setObject:@"盛岡市" forKey:@"IWATE"];
[mdic setObject:@"仙台市" forKey:@"MIYAGI"];
[mdic setObject:@"秋田市" forKey:@"AKITA"];
[mdic setObject:@"山形市" forKey:@"YAMAGATA"];
[mdic setObject:@"福島市" forKey:@"FUKUSHIMA"];

※以下、上記 mdic を元とした例文です。

// キー「MIYAGI」の値を「青葉区」に変更する
[mdic setObject:@"青葉区" forKey:@"MIYAGI"];
// キー「IWATE」の値を取得する
NSString *value = [mdic objectForKey:@"IWATE"]
  value → 盛岡市
// キー「YAMAGATA」を削除する
[mdic removeObjectForKey:@"YAMAGATA"];
// mdicの全要素を削除する
[mdic removeAllObjects];
totop