确认 UITextField 值的值是枚举的成员
Confirming that the value of a UITextField value is a member of an enum
我有一个 UITextField
和一个 UIPickerView
从 enum
设置它的值和一个保存按钮用户按下以保存他们的选择。
我的问题是,有没有一种方法可以错误捕获此设置,以便在用户按下保存时确认 UITextField
的值是我的枚举的成员?
我担心的是文本字段留空或粘贴了替代值。
如果您不希望用户能够输入值,那么使用 UIButton
而不是 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")
}
将为包含 'North' 的文本字段打印 "Valid direction",但为包含 'Up'.
的文本字段打印 "Invalid direction"
如果您希望 'north' 成为可接受的输入,您可能需要将所有内容转换为小写。
我有一个 UITextField
和一个 UIPickerView
从 enum
设置它的值和一个保存按钮用户按下以保存他们的选择。
我的问题是,有没有一种方法可以错误捕获此设置,以便在用户按下保存时确认 UITextField
的值是我的枚举的成员?
我担心的是文本字段留空或粘贴了替代值。
如果您不希望用户能够输入值,那么使用 UIButton
而不是 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")
}
将为包含 'North' 的文本字段打印 "Valid direction",但为包含 'Up'.
的文本字段打印 "Invalid direction"如果您希望 'north' 成为可接受的输入,您可能需要将所有内容转换为小写。