Created
September 10, 2012 07:24
-
-
Save ksm/3689409 to your computer and use it in GitHub Desktop.
Enum with Fixed Underlying Type
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Enum with Fixed Underlying Type | |
New with Xcode 4.4 | |
Via WWDC2012 Session 405 - Modern Objective-C | |
Results in better code completion and stronger type checking. | |
Use -Wconversion compiler flag to check for enum type errors. | |
-Wswitch for checking if switch statement is fully handled for enum. | |
*/ | |
typedef enum NSNumberFormatterStyle : NSUInteger { | |
NSNumberFormatterNoStyle, | |
NSNumberFormatterDecimalStyle, | |
NSNumberFormatterCurrencyStyle, | |
NSNumberFormatterPercentStyle, | |
NSNumberFormatterScientificStyle, | |
NSNumberFormatterSpellOutStyle | |
} NSNumberFormatterStyle; | |
/* | |
NS_ENUM macro - checks whether fixed underlying type is available, | |
uses if it is. (What Foundation headers are starting to use). | |
*/ | |
typedef NS_ENUM(NSUInteger, NSNumberFormatterStyle) { | |
NSNumberFormatterNoStyle, | |
NSNumberFormatterDecimalStyle, | |
NSNumberFormatterCurrencyStyle, | |
NSNumberFormatterPercentStyle, | |
NSNumberFormatterScientificStyle, | |
NSNumberFormatterSpellOutStyle | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment