aak*_*pro 4 enums objective-c ios
我在我的应用程序中写了以下代码:
typedef enum{
PasswordModeEnter = 1,
PasswordModeSetNewPassword = 3,
passwordModeVerify = 5,
PasswordModeChange = 7,
PasswordModeDisabled = 9
}PasswordModes;
Run Code Online (Sandbox Code Playgroud)
我实例化了一个名为PasswordMode的对象.
- (id)initWithPasswordMode:(PasswordModes *)passwordMode nibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.PasswordMode = passwordMode;
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
我编写以下代码时遇到了一个奇怪的错误:
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;
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
语句需要表达整数类型.
问题是什么,我该如何解决?
小智 6
PasswordModes只是一个枚举,你的init方法错误地指出它是一个指针.init方法签名应如下所示:
- (id)initWithPasswordMode:(PasswordModes)passwordMode nibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil;
Run Code Online (Sandbox Code Playgroud)
您的财产应如下:
@property (nonatomic,assign) PasswordMode passwordMode;
Run Code Online (Sandbox Code Playgroud)