【发布时间】:2015-08-30 16:52:51
【问题描述】:
我想用我用来访问数据库中列的键的嵌套枚举替换我的全局字符串常量。
结构如下:
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。如果有更好的方法来实现这一点,我很想听听!
【问题讨论】:
-
myUser是什么对象?字典还是你自己的带下标的对象? -
@AndyIbanez 它可能是一个简单的字典,或者在我使用 Parse 时是一个 PFUser