iOSメモのNSDictionaryとNSMutable Dictionary
3612 ワード
NSDictionary可変字典
1、
使用例:辞書の作成
NSMuttable DictionaryはNSDictionaryのサブクラスなので、NSDictionaryの方法を継承しました.1、
例を使って可変辞書を作成します.
1、
[NSDictionary dictionaryWithObjectsAndKeys:..]
:キーパッドのペアを使って直接辞書の対象を作成し、終わりにはnilマークで終わらなければなりません.2、[NSDictionary initWithObjectsAndKeys:..]
:キーパッドを使って辞書の対象を初期化し、終わりにはnilフラグを使って終了しなければならない.3、[dictionary count]
:辞書の長さの単位を得る.4、[dictionary keyEnumerator]
:辞書のKEYをNSEnumeratorに記憶し、NSEnumeratorはJava言語のローズマリーに似ています.迅速な列挙を使って、辞書の中にKEY値を全部遍歴することができます.5、[dictionary objectEnumerator]
:辞書のすべてのvalueをNSEnumeratorに格納し、使い方は上記とほぼ同じで、KEY対応する保存されたValue値を遍歴するために使用することができる.6、[dictionary objectForKey:key]
:KEYオブジェクトに着信することにより、現在のKEY対応貯蔵の値を取得することができる.使用例:辞書の作成
NSDictionary *dic = [NSDictionary dictionaryWithObject:@"value" forKey:@"key"];
複数の辞書を作成NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:
@"xbyvalue1", @"xbykey1",
@"xbyvalue2", @"xbykey2",
@"xbyvalue3", @"xbykey3",
@"xbyvalue4", @"xbykey4",
nil];
辞書を既存の辞書に基づいて作成します.NSDictionary *dic3 = [NSDictionary dictionaryWithDictionary:dic2];
keyによってvalueを取得するNSDictionary *dic =[dic3 objectForKey:@"key3"];
辞書の数を取得NSInteger count = dic3.count;
すべてのキーセットNSArray *keys = [dic3 allKeys];
すべての値セットNSArray *values = [dic3 allValues];
NSMuttable Dictionary可変辞書NSMuttable DictionaryはNSDictionaryのサブクラスなので、NSDictionaryの方法を継承しました.1、
[NSMutableDictionary dictionaryWithCapacity:5]
:可変辞書を作成して、最初にその長さを指定します.動的な追加データは5を超えると、この辞書の長さが自動的に増加します.だから、行列が境界を越えることを心配しなくてもいいです.このような方法をオススメします.2、[NSMutableDictionary initWithCapacity:5]
:1つの辞書を初期化するだけの長さは5です.3、[dictionary setObject:@"value" forKey:@"key"]
:可変辞書にデータを動的に追加する.辞書にこのKEYのデータがあるなら、直接にこのKEYの値を置換します.4、[dictionary removeAllObjects..]
:辞書の中のすべてのデータを削除します.5、[dictionary removeObjectForKey..]
:辞書からKEYを指定したデータを削除します.例を使って可変辞書を作成します.
NSMutableDictionary *mutableDic = [[NSMutableDictionary alloc]initWithObjectsAndKeys:
@"xbyvalue1", @"xbykey1",
@"xbyvalue2", @"xbykey2",
@"xbyvalue3", @"xbykey3",
@"xbyvalue4", @"xbykey4",
nil];
既存の辞書データを追加[mutableDic addEntriesFromDictionary:dic3];
新しいキーオブジェクトを追加します.[mutableDic setValue:@"set1" forKey:@"setKey1"];
新しい辞書データで古い辞書データを上書きします.[mutableDic setDictionary:dic2];
keyによるvalueの削除[mutableDic removeObjectForKey:@"key1"];
クイック巡回for(id key in mutableDic) {
NSLog(@"key :%@ value :%@", key, [mutableDic objectForKey:key]);
}
列挙遍歴NSEnumerator *enumerator = [mutableDic keyEnumerator];
id key = [enumerator nextObject];
while (key) {
NSLog(@"enumerator :%@", [mutableDic objectForKey:key]);
key = [enumerator nextObject];
}
要素をkey配列から削除します.[mutableDic removeObjectsForKeys:keys];
すべての要素を削除[mutableDic removeAllObjects];