确认UITextField值的值是枚举的成员

Blu*_*Rad 0 error-handling enums ios swift

我有一个UITextField随着UIPickerView从一个将其值设置enum和保存按钮,用户按下保存他们的选择.

我的问题是,有没有办法错误陷阱此设置,所以当用户按下保存时,它将确认该值UITextField是我的枚举成员?

我担心的是文本字段留空或粘贴了替代值.

Pau*_*w11 5

如果您不希望用户能够输入值,那么使用a UIButton而不是a 可能更简单,UITextField并使用选择器值更新按钮的标签.

但是,您可以轻松使用枚举的原始值来验证输入 -

例如

enum Directions: String {
    case North = "North"
    case South = "South"
    case East = "East"
    case West = "West"
}

if let possibleDirection=Directions(rawValue: myTextField.text) {
    println("Valid direction")
}
else {
    println("Invalid direction")
}
Run Code Online (Sandbox Code Playgroud)

将为包含"向上"的文本字段打印包含"北"但"无效方向"的文本字段的"有效方向".

如果您希望"north"成为可接受的输入,您可能希望将所有内容转换为小写.