Ios 目标C:如何检测发送方是UITextField还是UISwitch

Ios 目标C:如何检测发送方是UITextField还是UISwitch,ios,objective-c,cocoa-touch,Ios,Objective C,Cocoa Touch,我将UITextfield和UISwitch实例放在UITableView中。我可以检测标记和值,但不确定如何检测它们是UISwitch还是UITextField 我打算为每个设置不同的操作。您可以像这样检查发件人的类别: if ([sender isKindOfClass:[UISwitch class]]) ... 但是,这可能不是最佳设置:当您使用switch vs.text字段创建表格单元格时,您可能会连接不同的选择器,以获得更好的解决方案。dasblinkenlight给出的答案对于

我将
UITextfield
UISwitch
实例放在
UITableView
中。我可以检测标记和值,但不确定如何检测它们是
UISwitch
还是
UITextField


我打算为每个设置不同的操作。

您可以像这样检查发件人的类别:

if ([sender isKindOfClass:[UISwitch class]]) ...

但是,这可能不是最佳设置:当您使用switch vs.text字段创建表格单元格时,您可能会连接不同的选择器,以获得更好的解决方案。

dasblinkenlight给出的答案对于
UISwitch
的所有子类都是正确的。对于特定类,您也可以尝试此方法

if ([sender class] == [UISwitch class]])

如果要确保排除子集,可以使用
–isMemberOfClass:
方法。