243Stepping over an Array (or Dictionary)

NSArray *paths = [[NSFileManager defaultManager] 
    directoryContentsAtPath: NSHomeDirectory()];

// 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.