gpt4 book ai didi

ios - Swift 中枚举的默认值

转载 作者:IT王子 更新时间:2023-10-29 05:32:26 24 4
gpt4 key购买 nike

我有一个枚举:

public enum PersonType:String {

case Cool = "cool"
case Nice = "rude"
case SoLazy = "so-lazy"

public var description: String {
switch self {
case .Cool:
return "Cool person"
case .Nice:
return "Nice person"
case .SoLazy:
return "its so lazy person"
}
}


public var typeImage: String {
switch self {
case .Cool:
return "cool.png"
case .Nice:
return "img_nice.png"
case .Solazy:
return "lazy.png"
}
}

}

这个问题我不知道所有的人类型键,所以我需要处理类型人的默认情况并给它描述将是像“so-lazy”这样的键和默认图像。

假设我从网络服务中得到这个结果:

[
{
name: "john",
key: "cool"
},
{
name: "paul",
key: "funny"
}
]

我需要一个默认案例来处理键“funny”

下面是我在解析和创建 person 对象时如何初始化我的枚举:

if let personType = PersonType(rawValue:personTypeKey ?? "") {
self.personType = personType
}

我想要一个 else 或更好的方法来处理枚举中未知键的情况,并为它们提供键作为描述和默认图像。

最佳答案

另一种适用于 Swift 3 的方法(可能是 2,不知道):

enum PersonType: String {
case cool = "cool"
case nice = "nice"
case soLazy = "so-lazy"
case other
}

let person = PersonType(rawValue: "funny") ?? .other

在本例中,person 变量的类型为 PersonType.other。

这样做的缺点是您不知道 .other 情况的原始字符串值。

关于ios - Swift 中枚举的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37731962/

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