SwiftUI:自定义字符串类型
SwiftUI: Custom String Type
我刚刚开始学习 SwiftUI,所以我对框架还很陌生,对 Swift 语言的总体了解很少。我正在尝试弄清楚如何定义自定义类型。
我有一个 @State
变量,它可以是三个字符串之一("OFF"
、"ON"
、"ONCE"
)。
这是我目前拥有的:
@State private var mode: String = "OFF"
问题是,我想强制此变量符合 "stricter" 类型,而不是简单地将其设置为 String
.
可能与此类似...(我意识到这是无效的,但我来自 TypeScript 世界所以请原谅我)
type Mode = "OFF" | "ON" | "ONCE"
@State private var mode: Mode = "OFF"
如有任何帮助,我们将不胜感激。提前致谢!
你应该使用 enum
enum Mode: String {
case on = "ON"
case off = "OFF"
case once = "ONCE"
}
Swift 中的枚举非常强大,请查看此处的完整指南:Enumerations
我刚刚开始学习 SwiftUI,所以我对框架还很陌生,对 Swift 语言的总体了解很少。我正在尝试弄清楚如何定义自定义类型。
我有一个 @State
变量,它可以是三个字符串之一("OFF"
、"ON"
、"ONCE"
)。
这是我目前拥有的:
@State private var mode: String = "OFF"
问题是,我想强制此变量符合 "stricter" 类型,而不是简单地将其设置为 String
.
可能与此类似...(我意识到这是无效的,但我来自 TypeScript 世界所以请原谅我)
type Mode = "OFF" | "ON" | "ONCE"
@State private var mode: Mode = "OFF"
如有任何帮助,我们将不胜感激。提前致谢!
你应该使用 enum
enum Mode: String {
case on = "ON"
case off = "OFF"
case once = "ONCE"
}
Swift 中的枚举非常强大,请查看此处的完整指南:Enumerations