1 variables objective-c uitextfield sender
我有几个文本域,每个都有标签,我想单独添加到一个数组.在添加它之前,我需要确定它来自哪个字段.我想对所有这些方法使用相同的方法,而不是为每个文本字段都有一个方法.
是否可以从发件人获取文本字段的变量名称?如果它们是按钮我可以使用[sender currentTitle],但我不知道如何从文本字段中获取标识符.
我在考虑这样的事情:
- (void)makeItSo:(id)sender
{
NSString * senderName = (UITextField*)[sender stringValue] ;
if ([senderName isEqual: @"name"] )
-- add name to array
else if ([senderName isEqual: @"address"] )
-- add address to array
}
Run Code Online (Sandbox Code Playgroud)
如果为每个文本字段添加标记,则使用标记:
- (void)makeItSo:(UITextField *)sender {
if (sender.tag == 1) {
// the name text field
} else if (sender.tag == 2) {
// the address text field
}
}
Run Code Online (Sandbox Code Playgroud)
这假设您已tag在IB或代码中为每个文本字段设置了属性.
为每个标记定义常量可能很有用,因此您最终会得到一些更容易阅读的内容:
#define kNameTextField 1
#define kAddressTextField 2
- (void)makeItSo:(UITextField *)sender {
if (sender.tag == kNameTextField) {
// the name text field
} else if (sender.tag == kAddressTextField) {
// the address text field
}
}
Run Code Online (Sandbox Code Playgroud)
如果你有插座或实例变量,那么你可以这样做:
- (void)makeItSo:(UITextField *)sender {
if (sender == _nameTextField) {
// the name text field
} else if (sender == _addressTextField) {
// the address text field
}
}
Run Code Online (Sandbox Code Playgroud)
其中_nameTextField和_addressTextFields是文本字段的ivars.
| 归档时间: |
|
| 查看次数: |
2668 次 |
| 最近记录: |