Классы / Методы-индексаторы

@interface PowerOfTwo : NSObject
- (NSNumber *)objectAtIndexedSubscript:
    (NSUInteger)i;
@end

@implementation PowerOfTwo

//this method makes the object
//indexable with []
- (NSNumber *)objectAtIndexedSubscript:
    (NSUInteger)i {
    return @((int)pow(2, i));
}
@end

PowerOfTwo *power2 = [PowerOfTwo new];

NSNumber *p2 = power2[2];
//p2 is 4

NSNumber *p8 = power2[8];
//p8 is 256

NSNumber *p16 = power2[16];
//p16 is 65536