确定哪个UITextField
触发方法-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
(或任何其他UITextFieldDelegate方法)的最佳方法是什么?我以前见过这样的代码:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
if (textField == textFieldCode) {
return YES;
}
return NO;
}
但这只有在我班上有textFieldCode
作为ivar的情况下才有效,在这种情况下,我只是初始化了几个UITextField
并将它们放在一张桌子上,所以我不喜欢在课堂上没有引用它们。
我在想我可以使用hash function并在类中的某个地方存储每个textField的哈希值,然后将textField
的哈希值与方法调用中所需的哈希值进行比较,但是看起来像是一种黑客攻击。
答案 0 :(得分:3)
由于您只有几个字段,因此您可以为每个文本字段的标记属性指定唯一编号以启用标识。
答案 1 :(得分:0)
您可以拥有一个包含所有文本字段的iVar NSArray。 然后只需枚举它以找出发送消息的文本字段