每个单元格的单独button,创build为find的设备

我试图做一个自定义的单元格,当它发现设备时生成原型单元格,这意味着每个设备都有一行。 每个button都必须在自己的设备上运行。 自定义单元格: 在这里输入图像说明

我创build了一个UITableViewCell并声明了标签,button和图像。 我有麻烦,使button作为个人button在TableViewController.Here是TableViewController.m

- (interruptorTableCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"dimmableCell"; interruptorTableCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; BinaryLight1Device *dispositivoApresentadoNaTabRetiradoDaListaDeFiltrados = [self.model.devicesFiltrados objectAtIndex:indexPath.row]; cell.accessoryView = cell.ligaDeslBtnPro; cell.ligaDeslBtnPro.tag = indexPath.row; [cell.ligaDeslBtnPro addTarget:self action:@selector(ligaDeslBtn:) forControlEvents:UIControlEventTouchUpInside]; cell.dimmableLabel.text = [dispositivoApresentadoNaTabRetiradoDaListaDeFiltrados friendlyName]; return cell; } 

这是在TableView Cell中声明的button操作:

 - (IBAction)ligaDeslBtn:(UIButton *)sender { interruptorTableCell *cell = (interruptorTableCell*)[sender superview]; NSIndexPath *index=[menuView indexPathForCell:cell]; BinaryLight1Device *deviceBinaryLight = [model.devicesFiltrados objectAtIndex:sender.tag]; NSMutableString *statusDispositivos = [[NSMutableString alloc]init]; if (sender) { if ([statusDispositivos isEqualToString:@"0"]) { [[deviceBinaryLight switchPower]SetarValorLigadoDesligado:@"1"]; [[deviceBinaryLight switchPower]RetornarValorLigadoDesligado:statusDispositivos]; } else if ([statusDispositivos isEqualToString:@"1"]) { NSLog(@"Desligando dispositivo"); [[deviceBinaryLight switchPower]SetarValorLigadoDesligado:@"0"]; [[deviceBinaryLight switchPower]RetornarValorLigadoDesligado:statusDispositivos]; } } 

我认为我的问题是面向对象,我宣布它是正确的? 我应该在哪里做这个? 谢谢。

我尝试过一次并为我工作的方法是为每个单元格添加一个button,并使用标记:

添加这个

 - (interruptorTableCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{} // Configure your buttons according your needs UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; button.frame = CGRectMake(530.0f, 20.0f, 87.0f, 34.0f); [button addTarget:self action:@selector(ligaDeslBtn:) forControlEvents:UIControlEventTouchUpInside]; [cell addSubview:button]; button.tag = indexPath.row; 

而在你的button事件,添加在开始://标识哪个button被点击。

 NSInteger row = [sender tag];