gpt4 book ai didi

string - 在不使用 rawValue 的情况下访问枚举中的字符串值

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

我想用一个嵌套枚举替换我的全局字符串常量,用于访问数据库中的列。

结构如下:

enum DatabaseKeys {

enum User: String {
case Table = "User"
case Username = "username"
...
}

...

}

数据库中的每个表都是一个内部枚举,表的名称是枚举的标题。每个枚举中的第一个 case 将是表的名称,后面的 case 是其表中的列。

要使用它,非常简单:

myUser[DatabaseKeys.User.Username.rawValue] = "Johnny"

但我会大量使用这些枚举。必须将 .rawValue 附加到每个实例会很痛苦,而且它不像我希望的那样可读。如何在不使用 rawValue 的情况下访问字符串值?如果我能做到这一点,那就太好了:

myUser[DatabaseKeys.User.Username] = "Johnny"

请注意,我使用的是 Swift 2。如果有更好的方法来实现这一点,我很乐意听到!

最佳答案

虽然我没有找到使用所需语法和枚举来执行此操作的方法,但使用结构是可能的。

struct DatabaseKeys {

struct User {
static let identifier = "User"
static let Username = "username"
}

}

使用:

myUser[DatabaseKeys.User.Username] = "Johnny"

Apple 在 WatchKit 模板中使用这样的结构作为 Storyboard和行类型标识符。

关于string - 在不使用 rawValue 的情况下访问枚举中的字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32298952/

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