我需要遍历字典的所有键/值对,并对两个字段执行某些操作。我想知道什么是更有效率,传统的'foreach关键'方法或块方法使用enumerateKeysAndObjectsUsingBlock :.遍历键/值的NSDictionary,是enumerateKeysAndObjectsUsingBlock比循环键和调用objectForkey更高效:?
这里有一个例子:
传统的方法(块)之前
for (NSString* key in [self.dictionary allKeys]) {
[self processKey:key value: [self.dictionary objectForKey:value ]];
}
块的方法。
[self.dictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop){
[self processKey:key value:obj];
}];
我的直觉是,遍历使用块的键/值对速度更快,但我不知道,因为我不知道怎样词典和特定块的方法来实现。
有什么想法?
在此先感谢!
你的意思是objectForKey:key而不是objectForKey:value? – ohthepain