gpt4 book ai didi

swift - 重构两个相似的 swift switch 语句

转载 作者:可可西里 更新时间:2023-11-01 00:38:45 26 4
gpt4 key购买 nike

我有几个 switch 语句,我最初将一些 JSON 值转换为用户友好的名称 (convertCategoryValueToName)。

稍后,在应用程序的不同部分,我需要根据用户友好的名称进行一些检查,并且我编写了一个相应的开关来将名称转换回其原始值(convertCategoryNameToValue)。

switch 语句很长,我不喜欢重复。有没有办法将这项工作重构到一个 Switch 中?

缩短的开关示例...

func convertCategoryValueToName(category: String) -> String? {
var categoryName: String?
switch category {
case "dessert":
categoryName = "Desserts"
case "drink":
categoryName = "Drinks"
default:
break
}
return categoryName
}

func convertCategoryNameToValue(category: String) -> String? {
var categoryValue: String?
switch category {
case "Desserts":
categoryValue = "dessert"
case "Drinks":
categoryValue = "drink"
default:
break
}
return categoryValue
}

最佳答案

你应该简单地使用一个枚举

enum Category: String {
case dessert = "Desserts"
case drink = "Drinks"
}

然后使用 Category.dessert.rawValue 在 UI 上显示 “用户友好的名称” 并使用 enum 的所有内容else 在你的代码中。

关于swift - 重构两个相似的 swift switch 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53158607/

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