Structures (records)

//In Objective-C structs there are no static members
@interface Setting : NSObject
+ (int) mode;
+ (void) setMode: (int) value;
+(void) setNextMode;
@end

@implementation Setting
static int mode;
+ (int) mode {
    return mode;
}

+ (void) setMode: (int) value {
    mode = value;
}

+(void) setNextMode {
    mode = (mode + 1) % 3;
}
@end

Setting.mode = 3;
[Setting setNextMode];
//Setting.mode is 1