我试着做一个“困难”类型,可以采取三种状态:容易,中等或困难。然后“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/