我正在使用xcode8 + swift3。
我的控制器视图中有多个UITextField
。每个UITextField都有代码中的插座连接。
我知道我可以使用“tag
”来识别UITextField
,但似乎我只能使用数字作为标记(我尝试使用tag
字段的字符串值,我的Xcode总是卡住了,只有作为标签工作的数字。)
但我不想在我的代码中使用幻数:
If (textField.tag == 0) {
}
我想知道,在代码中是否有更好的方法或更具描述性的方法来识别UITextField?
答案 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关于使用==
的评论也是合适的,如果您已经有出口更好。)