Swift 枚举大小写不是类型的成员

Swift Enum case is not a member of type

我知道有很多类似的问题,但据我所知这是一个新问题

这是我想做的一个基本示例,我不确定为什么它不起作用:

enum Test  {
    case A(Int)
    case B(String)
}
let a : Test.A //Enum case 'A' is not a member of type 'Test'

但确实如此!这里发生了什么?

类型是Test,不是A。

let a: Test = Test.A(2)

类型实际上是TestAB 就是这种情况。 实际上,你应该使用小写字母,所以它应该是:

enum Test  {
    case a(Int)
    case b(String)
}

您可以按如下方式使用此枚举:

var myVar: Test

myVar = Test.a(0) // long version
myVar = .a(10) // short version: "Test" is inferred
myVar = .a(125)

myVar = .b("Hello")
myVar = .b("World")