是否可以为每组连续的整数赋予名称?

Jos*_*ane 2 int objective-c naming-conventions

我有一个int电话setupStage.这只是我在每个阶段完成时递增的值,所以我可以说if (setupStage == 2),而且我知道我处于第三阶段(默认为0).

有没有办法可以更好地参考这些数字?例如:

if (setupStage == stageEnterName)

而不必参考其实际原始int值.

这可能是一种误解,但我想要实现的是否与定义宏有关?

log*_*ell 9

是!

试试这个:

typedef enum {
    MyType0,
    MyType1,
    MyType2,
    MyType3
} MyType;
Run Code Online (Sandbox Code Playgroud)

这与此相同:

typedef enum {
    MyType0 = 0,
    MyType1,
    MyType2,
    MyType3
} MyType;
Run Code Online (Sandbox Code Playgroud)

值在第一个插槽处默认为0,然后自动递增1.请注意,令牌名称(MyTypeX)是您设置的任意字符串值.

在这种情况下,他们从0到3.然后你可以这样说:

if (setupStage == MyType3)
Run Code Online (Sandbox Code Playgroud)

哪个是相同的

if (setupStage == 3)
Run Code Online (Sandbox Code Playgroud)