我试着做一个“困难”类型,可以采取三种状态:容易,中等或困难。然后“minimum”和“maximum”值将自动设置并可访问,如“mydifficultyinstance.min”或什么。
我试过但没用,我有错误:

enum Difficulty {
   case easy(min: 50, max: 200)
   case medium(min: 200, max: 500)
   case hard(min: 500, max: 1000)
}

然后我尝试了一个结构,但它变得太怪异和丑陋。
有什么简单的解决办法吗?

最佳答案

我知道你已经接受了一个答案,但如果你想有预设和自定义的难度设置,我建议这样做:

enum Difficulty {
   case easy
   case medium
   case hard
   case custom(min: Int, max: Int)

   var min : Int {
       switch self {
       case .easy:
           return 50
       case .medium:
           return 200
       case .hard:
           return 500
       case .custom(let min,_):
           return min
       }
   }

   var max : Int {
       switch self {
       case .easy:
           return 200
       case .medium:
           return 500
       case .hard:
           return 1000
       case .custom(_,let max):
           return max
       }
   }
}

这样,您就可以使用一个选项来定义自定义的困难(有限的独占状态)。
用法:
let difficulty : Difficulty = .easy
let customDifficulty : Difficulty = .custom(min: 70, max: 240)

let easyMin = difficulty.min
let easyMax = difficulty.max

let customMin = customDifficulty.min
let customMax = customDifficulty.max

关于swift - 困难类型 swift ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53760276/

10-11 19:46