web-dev-qa-db-ja.com

キーとオブジェクトを使用してNSDictionaryを列挙しますPHP style

NSMutableDictionaryを使用してNSEnumeratorのキーまたは値を列挙できることを知っています。両方を一緒に行うことは可能ですか? PHP foreach列挙子のようなものを探しています:

foreach ($dictionary as $key => $value);
15
typeoneerror

おそらく、NSDictionaryの方法を調べてください。

enumerateKeysAndObjectsUsingBlock:(void (^)(id key, id obj, BOOL *stop))

C/Objective-Cのブロックに慣れていない場合、これは優れたチュートリアルです: http://thirdcog.eu/pwcblocks/

59
Sam
NSDictionary* d = [NSDictionary dictionaryWithObjectsAndKeys:@"obj1",@"key1",
                                                           @"obj2",@"key2",
                                                           @"obj3",@"key3",
                                                           @"obj4",@"key4",nil];

for (id key in [d allKeys]) {
    NSLog(@"%@ - %@",key,[d objectForKey:key]);
}

出力:

keytest[7880:a0f] key3 - obj3
keytest[7880:a0f] key1 - obj1
keytest[7880:a0f] key4 - obj4
keytest[7880:a0f] key2 - obj2
34
ACBurk

今でははるかに簡単です:

for (NSString * key in dict)
{
    id/* or your type */ value = dict[key];
    ...
}
7
Dmitry Isaev