Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.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_Class_Enums_Properties_Static - Fatal编程技术网

Swift 如何访问枚举之外的属性

Swift 如何访问枚举之外的属性,swift,class,enums,properties,static,Swift,Class,Enums,Properties,Static,如何从此类中包含的枚举中访问类属性 但只要我实例化多个MyClass,所有实例的_toggledOn都是相同的 我希望有一些干净和快速的解决办法,我不知道。无论如何,先谢谢你 您的\u onColor和\u offColor是静态的,因此类的每个实例都不会有单独的\u onColor和\u offColor\ 您应该将\u onColor和\u offColor设置为非静态,并删除ToggleState的color属性,而是在类中添加这样的方法: 您应该编写以下内容,而不是toggleStat

如何从此类中包含的枚举中访问类属性

但只要我实例化多个MyClass,所有实例的_toggledOn都是相同的

我希望有一些干净和快速的解决办法,我不知道。无论如何,先谢谢你



您的
\u onColor
\u offColor
是静态的,因此类的每个实例都不会有单独的
\u onColor
\u offColor
\

您应该将
\u onColor
\u offColor
设置为非静态,并删除
ToggleState
color
属性,而是在类中添加这样的方法:

您应该编写以下内容,而不是
toggleState.color

color(forToggleState: toggleState)

color
不应该是
ToggleState
的属性,因为要计算它,您需要来自另一个对象的信息。

谢谢您的回答!特别是最后一段是有帮助的。@ AlexanderHeld,如果你认为我的答案回答你的问题,请考虑通过点击那个标记来接受它。
func color(forToggleState state: ToggleState) {
    switch state {
    case .on:
        return _onColor
    case .off:
        return _offColor
    }
}
color(forToggleState: toggleState)