Apple recommends defining enums like this since Xcode 4.4:

typedef enum ShapeType : NSUInteger {
kCircle,
kRectangle,
kOblateSpheroid
} ShapeType;
They also provide a handy macro NS_ENUM:

typedef NS_ENUM(NSUInteger, ShapeType) {
kCircle,
kRectangle,
kOblateSpheroid
};
These definitions provide stronger type checking and better code completion. I could not find an official documentation of NS_ENUM, but you can watch "Modern Objective-C" video from WWDC 2012 session