我正在遵循一个教程,它要求输入以下代码:
import UIKit
enum Theme: Int {
//1
case `default`, dark, graphical
//2
private enum Keys {
static let selectedTheme = "SelectedTheme"
}
//3
static var current: Theme {
let storedTheme = UserDefaults.standard.integer(forKey: Keys.selectedTheme)
return Theme(rawValue: storedTheme) ?? .default
}
}
这似乎很好,但是我开始在线研究 Swift 中的枚举到底是什么。我在网上找到的一条信息说我可以将每个案例分解为单独的一行,如下所示:
import UIKit
//We're creating an enum!
enum Theme: Int {
//1
case 'default'
case dark
case graphical
//2
private enum Keys {
static let selectedTheme = "SelectedTheme"
}
}
但是我收到一个编译时错误,提示“枚举‘case’声明中存在预期标识符,我不确定这是什么意思。谁能解释一下为什么我不能在这个例子中将每个案例分成单独的一行?
最佳答案
感谢上面的精彩评论的帮助。原因是因为“default”一词是 Swift 语言中保留的关键字,因此为了在我自己的程序中以不同于 Swift 语言建议的方式使用它,我需要将单词放在反引号内。请参阅此问题以供引用:Use reserved keyword a enum case
关于swift - 为什么我不能将 Int 类型的枚举大小写在单引号中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49352629/