20

NSMutableDictionary で NSEnumerator を使用して、すべてのキーと値を出力するにはどうすればよいですか?

ありがとう!

4

3 に答える 3

94

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
}

これは、配列で逆列挙子を実行する場合などに役立ちます。

于 2009-06-30T09:07:34.653 に答える
3

これは、オブジェクト検索なしのバージョンです。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);
}
于 2013-02-13T02:48:53.947 に答える