Iphone 当我单击行中的开关时,如何获取indexPath.row/path?

Iphone 当我单击行中的开关时,如何获取indexPath.row/path?,iphone,uitableview,Iphone,Uitableview,我创建两个或多个自定义单元格 每个电池内部都有一个开关 我如何知道我单击的行中的哪个开关 例如,单击第3行中的开关,它将返回indexPath.row=3 而且开关状态是on还是off 我应该放在哪个空隙里 我知道有一种方法可以通过以下方式获得回报: -(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(nsindepath*)indepath 但我不想碰那排,只想碰开关 哦,我做了一些研究,但只是有点不同 有什么想

我创建两个或多个自定义单元格

每个电池内部都有一个开关

我如何知道我单击的行中的哪个开关

例如,单击第3行中的开关,它将返回indexPath.row=3

而且开关状态是on还是off

我应该放在哪个空隙里

我知道有一种方法可以通过以下方式获得回报:

-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(nsindepath*)indepath

但我不想碰那排,只想碰开关

哦,我做了一些研究,但只是有点不同

有什么想法吗

我希望我能发布我的屏幕截图,但我不是一个新用户 创建按钮时,系统不允许我执行此操作

button.tag = [indexPath row]
选择按钮后,将行从标记中拉出

int myRow = [(UIButton *)sender tag];

创建交换机时,为其设置目标和操作:

[mySwitch addTarget:self action:@selector(switchToggled:) forControlEvents:UIControlEventValueChanged];
这里,目标
self
是您的
UITableViewController
,您需要在其中实现方法
(void)switchgled:(id)sender
,以处理控制事件。切换开关时,开关将自动将自身发送到
switchToggled
方法,作为
发送方
。如下所示(从链接的
ui按钮修改):


我可以把它放在[lightSwitch addTarget:self action:@selector(switchlightswitch)forControlEvents:UIControlEventValueChanged]中吗????嗯……看起来可以工作了!我现在就试试!谢谢我怎样才能像你一样成为一名优秀的程序员?对不起,我创建了一个LightCell0;还有一个TableViewController,我必须把这段代码放在哪一个?请参阅iOS7。表视图和单元格还有其他包装。我必须使用:
UITableViewCell*cell=(UITableViewCell*)switchControl.superview.superview;UITableView*tableView=(UITableView*)cell.superview.superview
- (void)switchToggled:(id)sender {
    UISwitch *theSwitch = (UISwitch *)sender;
    UITableViewCell *cell = (UITableViewCell *)theSwitch.superview;
    UITableView *tableView = (UITableView *)cell.superview;
    NSIndexPath *indexPath = [tableView indexPathForCell:cell];

    if(theSwitch.on) {
      // switch turned on
    }
    else {
      // switch turned off
    }
}