如何以更好的方式识别UITextField

时间:2017-09-01 13:16:20

标签: ios uitextfield xcode-storyboard

我正在使用xcode8 + swift3。

我的控制器视图中有多个UITextField。每个UITextField都有代码中的插座连接。

我知道我可以使用“tag”来识别UITextField,但似乎我只能使用数字作为标记(我尝试使用tag字段的字符串值,我的Xcode总是卡住了,只有作为标签工作的数字。)

但我不想在我的代码中使用幻数:

If (textField.tag == 0) {

}

我想知道,在代码中是否有更好的方法或更具描述性的方法来识别UITextField?

1 个答案:

答案 0 :(得分:3)

标签是正确的工具。只需创建一个枚举,供他们跟踪。

enum FieldIdentifier: Int {
    case name = 0
    case age = 1
}

if let fieldIdentifier = FieldIdentifier(rawValue: textField.tag) {
    switch fieldIdentifier {
    case .name: ...
    case .age: ...
    }
}

(请注意,Larme关于使用==的评论也是合适的,如果您已经有出口更好。)