NSMutableDictionaryでNSEnumeratorを使用して、すべてのキーと値を出力するにはどうすればよいですか?
ありがとう!
NSEnumeratorを使用する必要がない限り、高速列挙(より高速)と簡潔を使用できます。
for(NSString *aKey in myDictionary) {
NSLog(@"%@", aKey);
NSLog(@"%@", [[myDictionary valueForKey:aKey] string]); //made up method
}
また、高速列挙で列挙子を使用することもできます。
NSEnumerator *enumerator = [myDictionary keyEnumerator];
for(NSString *aKey in enumerator) {
NSLog(@"%@", aKey);
NSLog(@"%@", [[myDictionary valueForKey:aKey] string]); //made up method
}
これは、配列で逆列挙子を実行する場合などに役立ちます。
辞書の内容は、それぞれ
NSEnumerator
とkeyEnumerator
によって返されるobjectEnumerator
オブジェクトを使用して、キーまたは値で列挙できます。
言い換えると:
NSEnumerator *enumerator = [myMutableDict keyEnumerator];
id aKey = nil;
while ( (aKey = [enumerator nextObject]) != nil) {
id value = [myMutableDict objectForKey:anObject];
NSLog(@"%@: %@", aKey, value);
}
これがオブジェクト検索なしのバージョンです。 objectForKey呼び出しが存在しないことに注意してください。 keyEnumeratorとobjectEnumeratorの両方を使用します。
id aKey = nil;
NSEnumerator *keyEnumerator = [paramaters keyEnumerator];
NSEnumerator *objectEnumerator = [paramaters objectEnumerator];
while ( (aKey = [keyEnumerator nextObject]) != nil) {
id value = [objectEnumerator nextObject];
NSLog(@"%@: %@", aKey, value);
}