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

时间:2015-05-17 21:55:34

标签: ios swift error-handling enums

我有UITextField使用UIPickerView设置enum的值和用户按下保存按钮以保存其选择。

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

我担心文本字段会留空或粘贴备用值。

1 个答案:

答案 0 :(得分:5)

如果您不希望用户能够输入值,那么使用UIButton代替UITextField并更新按钮可能更为简单。 s标签使用选择器值。

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

例如

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")
}

将打印"有效方向"对于包含' North'的文本字段但是"方向无效"对于包含' Up'。

的文本字段

如果你想要' north'你可能希望将所有内容转换为小写字母。是一个可接受的输入。