243Stepping over an Array (or Dictionary)
NSArray *paths = [[NSFileManager defaultManager] directoryContentsAtPath: NSHomeDirectory()]; <del datetime="2010-04-01T02:49:15+00:00"> // either like that... NSEnumerator *e = [paths objectEnumerator]; for (NSString *p in e) { NSLog(@"path: %@", p); } // or like that. for (NSString *p in [paths objectEnumerator]) { NSLog(@"path: %@", p); }
NSDictionary has both [myDict objectEnumerator] and [myDict keyEnumerator].
Fast Enumberation is a feature in Objective-C 2.0, it allows you to step over arrays and dictionaries in a fast, consice, and secure (guarded against mutations) manner.
for (NSString *p in paths) { NSLog(@"path: %@", p); } // or NSString *p; for (p in paths) { NSLog(@"path: %@", p); }
Sometimes things are really as simple as they should be.