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.