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语句并未处理所有枚举。
时间: 2024-10-08 22:24:08