配列を末尾からイテレーションするには

Javaプログラマ向け、Objective-Cにおける配列イテレーションの小技。

配列(リスト)の末尾から先頭までを順にイテレーションするには。

Java

public class Test {
    public static void main(String[] args) {
        java.util.List<String> list = new java.util.ArrayList<>();
        list.add("first");
        list.add("second");
        list.add("third");

        java.util.ListIterator<String> itr = list.listIterator(list.size());

        while (itr.hasPrevious()) {
            System.out.println(itr.previous());
        }
    }
}

Objective-C

int main(int argc, const char** argv)
{
    @autoreleasepool {
        NSMutableArray* list = [NSMutableArray array];
        [list addObject:@"first"];
        [list addObject:@"second"];
        [list addObject:@"third"];
        
        for (NSString* s in [list reverseObjectEnumerator]) {
            NSLog(@"%@", s);
        }
    }
}