Мне нужно пройти по всем парам ключ / значение словаря и что-то сделать с обоими полями. Мне интересно, что более эффективно, традиционный подход «ключ foreach» или подход блоков с использованием enumerateKeysAndObjectsUsingBlock :.
Вот вам пример:
Традиционный подход (до блоков)
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];
}];
Мне кажется, что обход пар ключ / значение с помощью блока происходит быстрее, но я не уверен, так как не знаю, как реализованы словари и конкретный метод блока.
Есть мысли?
Заранее спасибо!