gpt4 book ai didi

swift - 无法扩展枚举;我应该用什么代替?

转载 作者:搜寻专家 更新时间:2023-10-31 08:08:50 25 4
gpt4 key购买 nike

我正在对类和父类(super class)进行一些测试。其中大部分是有道理的,但有一件事(目前!)我不确定。我在我的父类(super class)中使用枚举,我想在我的类中扩展它。我很确定我不能那样做,但我不确定该怎么做 - 非常感谢您的建议,以及任何指向非常好的、详细的类链接的指针。

这大致是我正在尝试做的事情:

class basicSprite: SKSpriteNode {
// This is the super-class
enum state: Int {
Paused, Idle, Damaged, Dead
}
var currentState = state.Paused
....
}

class playerSprite: basicSprite {
extend enum state: Int {
// This should take the enum state from the super-class and
// add these 4 states, giving 8 in total
case MovingLeft, MovingRight, MovingUp, MovingDown
}
....
}

var newPlayer: playerSprite
newPlayer.state = MovingLeft
....
switch newPlayer.state {
case playerSprite.state.Idle: break
case playerSprite.state.MovingLeft: break
default: break
}

现在据我所知,我不能用枚举来做到这一点——我应该用什么来代替?或者,如果我可以用枚举做到这一点,怎么做?

谢谢:-)

最佳答案

当您公开继承时,您会将变量放入基类中。

因此,直接将其他值添加到您之前的枚举中

关于swift - 无法扩展枚举;我应该用什么代替?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29032958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com