【问题标题】:Swift - Enum introspectionSwift - 枚举自省
【发布时间】:2015-05-02 22:12:25
【问题描述】:

我知道有很多关于 Swift 内省的问题,但我找不到明确的答案:

有没有办法知道Any 类型的变量(例如函数参数)是否为枚举?

我试过myVar is enummyVar is enum.selfmyVar is enum.Type,... 我显然没有工作(反正我也没抱太大希望)。

【问题讨论】:

  • 这个问题需要澄清。使用枚举是创建新类型的好方法,但枚举本身并不是类型。如果您创建了一个新的枚举类型,is 将用于测试您的 var 是否属于该类型。如果你认为你必须知道一个类型是否是作为枚举创建的,我想你是在错误地思考你的问题。也许在爬上抽象阶梯之后再问你的问题。

标签: swift enums


【解决方案1】:

你可以检查是否是特定枚举的情况:

let suit = Suit.Spades
var item:Any
item = suit
item is Suit // true
item = "string"
item is Suit // false

你不能检查它是否是任何枚举的情况。

【讨论】:

    猜你喜欢
    • 2015-11-19
    • 2020-10-19
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 2016-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多