在这段代码中,我写了一个非常无用的枚举,定义了一个可能的数字与Int或Float。
我无法理解如何访问我使用关联设置的值。如果我尝试打印,我得到(枚举值)
enum Number { case int (Int) case float (Float) } let integer = Number.int(10) let float = Number.float(10.5) println("integer is \(integer)") println("float is \(float)")
该值与枚举的实例相关联。因此,要在没有交换机的情况下访问它,您需要使一个getter并使其明确可用。如下所示:
enum Number { case int(Int) case float(Float) func get() -> NSNumber { switch self { case .int(let num): return num case .float(let num): return num } } } var vInteger = Number.int(10) var vFloat = Number.float(10.5) println(vInteger.get()) println(vFloat.get())