ios - switch case 错误中使用的枚举类型

标签 ios objective-c enums

我在我的应用程序中编写了以下代码:

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/

相关文章:

ios - 限制反向地理定位 - kCLErrorDomain Code=2

objective-c - 使用 sortedArrayUsingDescriptors 和 Key Paths 进行排序

objective-c - 如何获取 NSString 例如 "0+1+2",获取它们的总和并创建新字符串。对象C

Iphone Objective C - 在点击我的 UITableViewCell 后 resignFirstResponder

ios - 在 SWIFT 2.x 中以编程方式调用带有 NavigationController 的 UIViewController

ios - 如何测试项目中的私有(private)或文件私有(private)函数

ios - 如何在 UITableViewCell 中设置 UIButton 状态?

mysql - 设置枚举字段的索引

c++ - doxygen:如何记录\enum 值外线?

c# - 在 C# 中使用 Enum 表示数据层对象的 'status'