枚举

来源:互联网 发布:p2pwificam电脑版软件 编辑:程序博客网 时间:2024/05/22 01:48

从枚举定义来看,NS_ENUM和NS_OPTIONS本质是一样的,仅仅从字面上来区分其用途。NS_ENUM是通用情况,NS_OPTIONS一般用来定义具有位移操作或特点的情况(bitmask)。

实际使用时,可以直接定义:

typedef enum : NSInteger {....} UIViewAnimationTransition;  

typedef NS_ENUM(NSInteger, UITableViewCellAccessoryType) {
UITableViewCellAccessoryNone, // don’t show any accessory view
UITableViewCellAccessoryDisclosureIndicator, // regular chevron. doesn’t track
UITableViewCellAccessoryDetailDisclosureButton __TVOS_PROHIBITED, // info button w/ chevron. tracks
UITableViewCellAccessoryCheckmark, // checkmark. doesn’t track
UITableViewCellAccessoryDetailButton NS_ENUM_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED // info button. tracks
};

typedef NS_OPTIONS(NSUInteger, UITableViewCellStateMask) {
UITableViewCellStateDefaultMask = 0,
UITableViewCellStateShowingEditControlMask = 1 << 0,
UITableViewCellStateShowingDeleteConfirmationMask = 1 << 1
};

使用:
typedef NS_ENUM(NSInteger, EffectImgEditViewControllerType) {
EffectImgEditViewControllerType_TG = 0,
EffectImgEditViewControllerType_TM = 1
};
@property (nonatomic,assign) EffectImgEditViewControllerType effectType;

0 0
原创粉丝点击