Если Вы будете использовать LOC в качестве меры производительности, то Вы внезапно найдете, что Ваши программисты, пишущие намного больше verbosely, "играют система". Это - глупая мера, и только глупые люди используют его для чего-то большего чем престижа.
Да, NSDictionary
поддерживает быстрое перечисление. С Objective-C 2.0 вы можете сделать это:
// To print out all key-value pairs in the NSDictionary myDict
for(id key in myDict)
NSLog(@"key=%@ value=%@", key, [myDict objectForKey:key]);
Альтернативный метод (который вы должны использовать, если вы ориентируетесь на Mac OS X до 10.5, но вы все равно можете использовать на 10.5 и iPhone) - использовать NSEnumerator
:
NSEnumerator *enumerator = [myDict keyEnumerator];
id key;
// extra parens to suppress warning about using = instead of ==
while((key = [enumerator nextObject]))
NSLog(@"key=%@ value=%@", key, [myDict objectForKey:key]);