我有UITextField
使用UIPickerView
设置enum
的值和用户按下保存按钮以保存其选择。
我的问题是,有没有办法错误捕获此设置,因此当用户按下保存时,它将确认UITextField
的值是我的枚举的成员?
我担心文本字段会留空或粘贴备用值。
答案 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'你可能希望将所有内容转换为小写字母。是一个可接受的输入。