gpt4 book ai didi

swift - 是否有可能在 Swift 的枚举中将多个案例分组并表示为另一个案例?

转载 作者:行者123 更新时间:2023-12-05 09:30:53 24 4
gpt4 key购买 nike

这就是我的意思。

enum Device {
case iPhone_13Pro, iPhone_12Pro

case iPadPro_129
case iPadPro_11
}

// Hypothetical Scenario
enum Device_Group {
case iPhones
case iPads
}

有没有办法按照上面的方法来表示像这样的一组特定情况(它可以是另一个枚举或同一枚举中的不同情况 - 这样我就可以像下面那样做?

// DO THIS
switch device {
case iPhones:
print("These are iPhones")

case iPads:
print("These are iPads")
}

// INSTEAD OF THIS
switch device {
case .iPhone_13Pro, .iPhone_12Pro:
print("These are iPhones")

case .iPadPro_129, .iPadPro_11:
print("These are iPads")
}

我不知道这是否是一个奇怪的问题,但我发现在使用 switch 语句时将多个案例分组有一定的好处。对此有任何建议将不胜感激。提前致谢。

最佳答案

您可以使用嵌套枚举和带参数的案例

enum Devices {
case phone(iPhone)
case tablet(iPad)

enum iPhone {
case phone7
case phoneX
}

enum iPad {
case mini
case pro
}
}

let randomDevice = Devices.phone(.phone7)

switch randomDevice {
case .phone:
print("Its a phone")
default:
break
}

// prints "Its a phone"

关于swift - 是否有可能在 Swift 的枚举中将多个案例分组并表示为另一个案例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69254446/

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