iOS枚举
一、普通枚举
【iOS枚举】1、写法
typedef NS_ENUM (NSInteger, ColorType) {RedColor,BlackColor,WhiteColor};
NS_ENUM 标示;NSInteger 固定类型,不能为NSString其他类型; ColorType枚举的类型;ColorType 声明的变量只能为单个值
二、位移枚举 1、写法
typedef NS_OPTIONS (NSUInteger, NetWorkType){Unknown=0,//0NotReachable = 1 << 1,// 102^1WiFi = 1 <<2,// 1002^2WWAN= 1 << 3// 10002^3};
NS_OPTIONS 标示;NSUInteger 固定类型;NetWorkType 枚举的类型;NetWorkType 声明的变量只能可以为多个值
2、例
NetWorkType netWorkType=WiFi|WWAN;
[self checkUserNetWorkState:netWorkType];
-(void)checkUserNetWorkState:(NetWorkType )stateType{
//进行&运算
if (stateType&NotReachable) {
NSLog(@"NotReachable");
}
if(stateType&WiFi){
NSLog(@"WiFi");
}
if(stateType&WWAN){
NSLog(@"WWAN");
}
}
输出:
2017-06-15 20:50:23.754 BitOperation[1450:34567] WiFi
2017-06-15 20:50:23.755 BitOperation[1450:34567] WWAN
3、iOS系统API例
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
};
UIView*view = [[UIView alloc]init];
//view自动调整自己的宽度,保证与superView左边和右边的距离不变。自动调整自己的高度,保证与superView顶部和底部的距离不变
view.autoresizingMask=UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
[self.view addSubview:view];
推荐阅读
- 一个人的旅行,三亚
- 一个小故事,我的思考。
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 开学第一天(下)
- 一个人的碎碎念
- 2018年11月19日|2018年11月19日 星期一 亲子日记第144篇
- 遇到一哭二闹三打滚的孩子,怎么办┃山伯教育
- 第326天
- Y房东的后半生14
- 奔向你的城市