Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift中类中的枚举_Swift_Enums - Fatal编程技术网

Swift中类中的枚举

Swift中类中的枚举,swift,enums,Swift,Enums,如何从类外部访问类枚举 class Element { enum Type { case AUDIO case LIGHT case THERMOSTAT } } var a = Element.Type.LIGHT // error: 'Element.Type.Type' does not have a member named 'LIGHT' var b = Element.LIGHT

如何从类外部访问类枚举

  class Element
  {
    enum Type
    {
        case AUDIO
        case LIGHT
        case THERMOSTAT
    }
  }

  var a = Element.Type.LIGHT   // error: 'Element.Type.Type' does not have a member named 'LIGHT'

  var b = Element.LIGHT   // error: 'Element.Type' does not have a member named 'LIGHT'

Type
属性已经存在(不吉利的名称:),只需将其重命名为其他名称,例如:

class Element
{
    enum EnumType
    {
        case AUDIO
        case LIGHT
        case THERMOSTAT
    }
}

var a = Element.EnumType.LIGHT

可以保留名称
类型
,但需要倒勾(`)

类元素{
枚举“类型”{
案例音频
箱灯
外壳恒温器
}
}
设a:Element.`Type`=.LIGHT
但是,我测试的以下模式似乎不起作用:

let a=Element.`Type`.LIGHT//编译错误

ugg!保留字不应该是不同的颜色吗!?它不是一个reserver关键字:)如果没有错
类型
是一个返回类型类型的静态属性,类似于在objective C中
选择器所做的,就像在
[NSString class]