Jos*_*ane 2 int objective-c naming-conventions
我有一个int电话setupStage.这只是我在每个阶段完成时递增的值,所以我可以说if (setupStage == 2),而且我知道我处于第三阶段(默认为0).
有没有办法可以更好地参考这些数字?例如:
if (setupStage == stageEnterName)
而不必参考其实际原始int值.
这可能是一种误解,但我想要实现的是否与定义宏有关?
是!
试试这个:
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)