iOS-这是枚举的任务吗?

iOS-这是枚举的任务吗?,ios,enums,initialization,Ios,Enums,Initialization,如果我想实现以下代码,枚举是否合适?我查了一些关于枚举的问题,但我还是有点不确定 if (dayOfWeek == Monday) { // Do something } else if (dayOfWeek == Tuesday || dayOfWeek == Wednesday) { // Do something else } 如果这似乎是正确的,我将如何初始化枚举?它会放在头文件或实现文件中吗?是的,这对枚举非常有用,请查看此SO帖子以了解枚举的构造: 此外,您还可以

如果我想实现以下代码,枚举是否合适?我查了一些关于枚举的问题,但我还是有点不确定

if (dayOfWeek == Monday)
{
    // Do something
}
else if (dayOfWeek == Tuesday || dayOfWeek == Wednesday)
{
    // Do something else
}

如果这似乎是正确的,我将如何初始化枚举?它会放在头文件或实现文件中吗?

是的,这对枚举非常有用,请查看此SO帖子以了解枚举的构造:

此外,您还可以决定是否将枚举实现放在正在处理的类或头文件中

如果我想实现以下代码,枚举是否合适

没有太详细的备选方案——是的

如何初始化枚举

我通常在C中声明一个枚举,如下所示:

typedef enum MONDayOfWeek {
  MONDayOfWeek_Undefined = 0,
  MONDayOfWeek_Monday,
  MONDayOfWeek_Tuesday,
  MONDayOfWeek_Wednesday,
  MONDayOfWeek_Thursday,
  MONDayOfWeek_Friday,
  MONDayOfWeek_Saturday,
  MONDayOfWeek_Sunday
} MONDayOfWeek;

// in use:
MONDayOfWeek day = MONDayOfWeek_Monday;
MON
将是您的库或组织的前缀
DayOfWeek
将是库中的枚举名称,然后附加值

虽然这很冗长,但你倾向于很好地避免碰撞

它会放在头文件还是实现文件中

在标题中,如果希望多个文件使用它,请在实现文件中使用else

typedef enum MONDayOfWeek {
  MONDayOfWeek_Undefined = 0,
  MONDayOfWeek_Monday,
  MONDayOfWeek_Tuesday,
  MONDayOfWeek_Wednesday,
  MONDayOfWeek_Thursday,
  MONDayOfWeek_Friday,
  MONDayOfWeek_Saturday,
  MONDayOfWeek_Sunday
} MONDayOfWeek;

// in use:
MONDayOfWeek day = MONDayOfWeek_Monday;