枚举的分段错误

Segmentation fault on enum

在检查带有可选值的枚举值时,出现分段错误。

这是错误的:

message?.type == .In

这是对的:

message!.type == .In // after checking for nil of course

发生了什么事?

好的,我明白了,它正在尝试找到 Optional(MessageType) 类型(我的枚举)的 .In,我猜它不能,因为这是可选的。使用 MessageType.In 而不是语法糖 .In 修复了它。 (如果编译器找不到,这不是编辑器的错误吗?)

所以现在我有:

message?.type == MessageType.In

有效。