NSMutableDictionary
NSMutableDictionaryクラスは、NSDictionaryを可変としたい場合に使用します。
NSMutableDictionaryはNSDictionaryを継承していますので、NSDictionaryのメソッドはそのまま使用できます。
NSMutableDictionaryのクラス階層
NSObject
↑
NSDictionary
↑
NSMutableDictionary
生成
// 空の可変ディクショナリ生成例
NSMutableDictionary *mdic = [NSMutableDictionary dictionary];
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];