如何更好地识别 UITextField

how to identify UITextField in a better way

我正在使用 xcode8+swift3.

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

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

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

If (textField.tag == 0) {

}

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

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

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

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

(注意 Larme 关于使用 == 的评论也很合适,如果你已经有 outlets 更好。)