Enums swift中的typedef枚举

Enums swift中的typedef枚举,enums,swift,Enums,Swift,我正在用Swift重写我的Objective C应用程序,我有一个关于enum的问题。在目标C中,你会这样做 typedef enum { stopped, running } TimerState; 它返回错误,行上的连续声明必须用“;”分隔-预期声明-枚举声明中预期的标识符。我阅读了一些相关文档,发现您不再将typedef放在enum之前。因此,在swift中,我认为: enum { stopped, running } TimerState; 但我不知道如何处理TimerState,它

我正在用Swift重写我的Objective C应用程序,我有一个关于enum的问题。在目标C中,你会这样做

typedef enum {
stopped,
running
} TimerState;
它返回错误,
行上的连续声明必须用“;”分隔-预期声明-枚举声明中预期的标识符
。我阅读了一些相关文档,发现您不再将
typedef
放在enum之前。因此,在swift中,我认为:

enum {
stopped,
running
} TimerState;

但我不知道如何处理TimerState,它是否在花括号内?我该怎么办。请不要发表任何愚蠢的评论。提前感谢。

在Swift中声明枚举不是这样的。不能像在C中那样简单地列出值。可以使用以下技术在C中完成枚举

enum TimerState {
    stopped,
    running
};
在swift中,您必须使用
case
关键字

enum TimerState {
    case stopped
    case running
}
至于
typedef
,swift中有一个
typealias

typealias SomeNewEnum = TimerState
编辑:如果要为枚举分配原始类型,可以这样做

enum TimerState: Int {
        case stopped = 0
        case running // 1
}

是的,我已经做了!!我还有一个问题,我们是否必须像在目标C中的@property中那样添加属性?例如属性(非原子,强)。。。我们如何在Swift中为IBO门店做到这一点?有人告诉我,我们不必这么做,但我不知道。@istx25你应该问另一个问题,而不是在评论中问这里。它将得到更多的关注和更好的回答。@istx25您不必担心Swift中的非原子问题。在大多数情况下,您也不需要担心
弱/强
。您可以使用
@IBOutlet
前缀标记属性,它们也将自动设置为
。只需确保在类型名称后面附加
,使它们成为可选的,因为它们可以被零化。谢谢@SiLo。StackoverFlow在90分钟内不会让我再发帖了哈哈。@亲爱的,我想不出任何问题了。我只是想回答OP提出的每一个问题。