问题
I know you can Enumerate the keys or values of NSMutableDictionary
using NSEnumerator
. Is it possible to do both together? I'm looking for something similar to the PHP foreach
enumerator like:
foreach ($dictionary as $key => $value);
回答1:
Perhaps look into NSDictionary's method:
enumerateKeysAndObjectsUsingBlock:(void (^)(id key, id obj, BOOL *stop))
If you're not familiar with blocks in C/Objective-C, this is a good tutorial: http://thirdcog.eu/pwcblocks/
回答2:
NSDictionary* d = [NSDictionary dictionaryWithObjectsAndKeys:@"obj1",@"key1",
@"obj2",@"key2",
@"obj3",@"key3",
@"obj4",@"key4",nil];
for (id key in [d allKeys]) {
NSLog(@"%@ - %@",key,[d objectForKey:key]);
}
Outputs:
keytest[7880:a0f] key3 - obj3
keytest[7880:a0f] key1 - obj1
keytest[7880:a0f] key4 - obj4
keytest[7880:a0f] key2 - obj2
回答3:
Now much easier:
for (NSString * key in dict)
{
id/* or your type */ value = dict[key];
...
}
来源:https://stackoverflow.com/questions/3775507/enumerate-nsdictionary-with-keys-and-objects-php-style