?
一 ?常見枚舉的定義:
typedef enum{LOGIN_SUCCESS,USER_NAME,USER_PASSWord,OLD_LAT,OLD_LNG}FIELD_SAVED;?
二?在iOS6和Mac OS 10.8以后Apple引入了兩個宏來重新定義這兩個枚舉類型,實際上是將enum定義和typedef合二為一,并且采用不同的宏來從代碼角度來區分。?
typedef NS_ENUM(NSInteger, UIViewAnimationTransition) { UIViewAnimationTransitionNone,//默認從0開始 UIViewAnimationTransitionFlipFromLeft, UIViewAnimationTransitionFlipFromRight, UIViewAnimationTransitionCurlUp, UIViewAnimationTransitionCurlDown, }; typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 << 0, UIViewAutoresizingFlexibleWidth = 1 << 1, UIViewAutoresizingFlexibleRightMargin = 1 << 2, UIViewAutoresizingFlexibleTopMargin = 1 << 3, UIViewAutoresizingFlexibleHeight = 1 << 4, UIViewAutoresizingFlexibleBottomMargin = 1 << 5 }; ?
三 枚舉經常被用于字符的替換.比如把枚舉轉化為字符.
? ?枚舉轉為字符.
-(NSString*) getStringFromField:(FIELD_SAVED)defaultFiled{ switch (defaultFiled) { case LOGIN_SUCCESS: return @"login_success"; case USER_NAME: return @"user_name"; case USER_PASSWORD: return @"user_pwd"; case OLD_LAT: return @"lat"; case OLD_LNG: return @"lng"; default: return @"default"; }}?
我們經常使用枚舉來取代相應的字符串或者字典.
Person類中,有id,name,age.
? ? 比如網絡請求后,獲取的只是其中的代號,如id.那我們怎樣把這個id與name等其它字段關聯起來?這里我們就用到了枚舉.
1 首先定義一個全部id值的數組totalID.
2 根據請求后的id值數組resposeID,與該數組totalID對比,取下標.
3 根據下標,可通過類似
getStringFromField方法
取相應的字符串或者字典.
?
?
?
新聞熱點
疑難解答