您的位置:首页 > 编程语言

编程的有效方法--用枚举表示选项及状态

2016-08-04 16:07 204 查看

1、好处

  在商城项目的开发中,用户购买完成之后,我们常常根据所买商品的类型push到相应的控制器中,而商品类型有很多种,如果使用判断语句,代码就显得臃肿或难以理解,此时,我们就可以使用枚举来表示商品类型,再用switch语句执行相应的操作,这样,代码就简洁很多,更加利于我们的开发;

  再者,在多选项卡中,用枚举来表示所选项,也更有利于我们的开发;

2、声明

typedef NS_ENUM(NSInteger, OrderType){
OrderTypeLift = 0,
OrderTypeGift = 1 << 0,      //左移
OrderTypeBusi = 1 << 1,
OrderTypeSafeCity = 1 << 2,
};


3、在状态中的使用

  根据所选择商品的类型执- (void)chooseGiftWithOrderType:(OrderType)type {

switch (type) {
case OrderTypeBusi:
{
[self confirmBusi];
}
break;
case OrderTypeLift:
{
[self confirmLift];
}
break;
case OrderTypeGift:
{
[self confirmGift];
}
break;
case OrderTypeSafeCity:
{
[self confirmCity];
}
break;
}
}


4、多选操作

// WKWebView中监听加载进度的新值和旧值
[_wk addObserver:self
forKeyPath:@"estimatedProgress"
options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld
context:nil];


5、注意点

  1>应该用枚举来表示状态机的状态、传递给方法的选项以及状态码等值,给这些值起个易懂的名字。

  2>如果把传递给某个方法的选项表示为枚举类型,而多个选项又可同时使用,那么就将各选项值定义为2的幂,以便通过按位或操作将其组合起来。

  3>在处理枚举类型的switch语句中不要实现default分支。这样的话,加入新枚举之后,编译器就会提示开发者:switch语句并未处理所有枚举。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: