gpt4 book ai didi

swift - 快速输入困难

转载 作者:搜寻专家 更新时间:2023-11-01 06:12:08 25 4
gpt4 key购买 nike

我正在尝试制作一种可以采用 3 种状态的“难度”类型:简单、中等或困难。然后将自动设置“最小”和“最大”值,如“myDifficultyInstance.min”之类的。

我试过了但是没有用,我收到错误:

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

然后我尝试了一个结构,但它变得太奇怪和丑陋了。

是否有一个简单的解决方案来做到这一点?

最佳答案

Default arguments are not allowed in enum cases

当您定义enum 的情况时,您不能定义默认值。想象一下,您只是在创建“模式”。

但是您可以做的是,您可以通过创建静态常量来创建默认情况

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

static let defaultEasy = easy(min: 50, max: 200)
static let defaultMedium = medium(min: 200, max: 500)
static let defaultHard = hard(min: 500, max: 1000)
}

然后你就可以这样使用了

Difficulty.defaultEasy
Difficulty.defaultMedium
Difficulty.defaultHard

此外,我认为对于您需要获取 minmax 值的情况,如果您使用自定义数据模型会更好

struct Difficulty {

var min: Int
var max: Int

static let easy = Difficulty(min: 50, max: 200)
static let medium = Difficulty(min: 200, max: 500)
static let hard = Difficulty(min: 500, max: 1000)
}

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

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