【发布时间】:2017-09-01 13:16:20
【问题描述】:
我正在使用 xcode8+swift3。
我的控制器视图中有多个UITextField。每个 UITextField 在代码中都有一个出口连接。
我知道我可以使用“tag”来识别UITextField,但似乎我只能使用数字作为标签(我尝试使用tag字段的字符串值,我的Xcode总是卡住,只有数字作为标签有效)。
但我不想在我的代码中使用幻数,例如:
If (textField.tag == 0) {
}
我想知道,在代码中是否有更好的方法或更描述性的方法来识别 UITextField?
【问题讨论】:
-
这就是
tag的定义:@property(nonatomic) NSInteger tag;所以确实,你不能放文字。如果他们每个人都有一个 IBOutlet,你为什么不改用if (textField == myTextFieldForSomething)呢? -
@Larme 好点;你能回答吗?在许多情况下,这比我的方法更好。
-
@RobNapier 我敢肯定应该有一些已经问过的问题(可能需要找到它,肯定是关于在某些委托方法中使用对象进行检测)。如果有属性,他们通常倾向于使用标签或直接“==”(指针相等)来回答。 stackoverflow.com/questions/3747315/…stackoverflow.com/questions/5747889/…等
-
我认为这不是那个的副本。这个答案基本上是“使用标签”。这个问题假定了这些信息,并询问如何在 Swift 中组织它(它的模式与 ObjC 中的模式非常不同)。
标签: ios uitextfield xcode-storyboard