加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift – 不能扩展enum;我应该用什么呢?

发布时间:2020-12-14 04:54:21 所属栏目:百科 来源:网络整理
导读:我正在用类和超类做一些测试.大部分都是有道理的,但有一点(目前!),我不确定.我在我的超类中使用枚举,我想在课堂上扩展它.我很确定我不能这样做,但我不知道该怎么做 – 建议会非常感激,就像任何关于类的非常好的详细链接的指针一样. 这大致是我正在尝试做的
我正在用类和超类做一些测试.大部分都是有道理的,但有一点(目前!),我不确定.我在我的超类中使用枚举,我想在课堂上扩展它.我很确定我不能这样做,但我不知道该怎么做 – 建议会非常感激,就像任何关于类的非常好的详细链接的指针一样.

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

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
}

现在据我所知,我不能用枚举来做 – 我应该用什么呢?或者,如果我能用枚举做到这一点,怎么样?

谢谢 :-)

解决方法

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读