我在我的应用程序中编写了以下代码:
typedef enum{
PasswordModeEnter = 1,
PasswordModeSetNewPassword = 3,
passwordModeVerify = 5,
PasswordModeChange = 7,
PasswordModeDisabled = 9
}PasswordModes;
然后我实例化了一个名为 PasswordMode 的对象。
- (id)initWithPasswordMode:(PasswordModes *)passwordMode nibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.PasswordMode = passwordMode;
}
return self;
}
我在编写以下代码时遇到了一个奇怪的错误:
switch (self.PasswordMode) {
case PasswordModeChange:
//do something
break;
case PasswordModeDisabled:
//do something
break;
case PasswordModeEnter:
//do something
break;
case PasswordModeSetNewPassword:
//do something
break;
case passwordModeVerify:
//do something
break;
default:
break;
}
出现以下错误:
statement requires expression of integer type.
问题是什么,我该如何解决?
最佳答案
问题出在这里
ProblemModes *
* 应该被删除。
关于ios - switch case 错误中使用的枚举类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19707392/