Arrays and collections / Iterators

//reverse iteration is built in
NSArray<NSNumber *> *numbers = @[@1, @2, @3];

for (NSNumber *n in
    [numbers reverseObjectEnumerator]) {
    //3, 2, 1
}

//or step by step
NSEnumerator *e =
    [numbers reverseObjectEnumerator];
NSNumber *n;
while ((n = [e nextObject]) != nil) {
    //3, 2, 1
}