swift - 枚举的段错误

标签 swift enums option-type

使用可选值检查枚举值时,出现段错误。

这是错误的:

message?.type == .In

这是对的:

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

发生了什么事?

最佳答案

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

所以现在我有:

message?.type == MessageType.In

有效。

关于swift - 枚举的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28723867/

相关文章:

c# - 如何使方法适用于任何枚举

google-app-engine - 我可以在 GAE 数据存储模型中拥有可选属性吗?

swift - 为什么在此示例中使用强制展开?

swift - 如何使用 Swift 函数返回的值

java - 为什么在 android 标准类中使用 static final int 来避免枚举?

ios - 将单词快速转换为 phoneme for iphone (ios)

c++ - “enum class”的递增和递减

android - Java 8 "Optional"不好的做法?

ios - 需要在 iMessage Extension 的 insertText 方法上调用 didStartSending

ios - 在不知道名称的情况下从 xcassets 加载图像