Enums swift中的typedef枚举
我正在用Swift重写我的Objective C应用程序,我有一个关于enum的问题。在目标C中,你会这样做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,它
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提出的每一个问题。