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