自定义 table 单元格的 indexPath 未定义,objective c

The indexPath of custom table cell is undefined, objective c

我创建了一个自定义单元格调用 PendingDoctorTableViewCell 并在 PendingDoctorTableView 中使用。一切正常,我使用

添加了一个披露指标
[cell setAccessoryType:UITableViewCellAccessoryDetailDisclosureButton];

它能够执行 segue "ShowPendingDoctor"。

然而,当我使用 prepareForSegue 时,indexPath 是未定义的。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {



    if ([segue.identifier isEqualToString:@"ShowPendingDoctor"]) {
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
        ActionForPendingDoctorViewController *destViewController = segue.destinationViewController;
        destViewController.myObjects = [myObject objectAtIndex:indexPath.row];

        // Hide bottom tab bar in the detail view
        //   destViewController.hidesBottomBarWhenPushed = YES;
    }
}

我怎样才能知道哪一行被点击了。因为它总是 return 第一个索引的对象。

谁能帮帮我?我正在赶我的项目。谢谢

声明一个 NSIndexPath 变量来保存你当前选择的 indexPath

NSIndexPath *selectedIndexPath;

使用 Tableview 委托来识别选定的行并以编程方式执行 segue

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:    (NSIndexPath *)indexPath
 {
   [self performSegueWithIdentifier:YOUR_SEGUE_IDENTIFIER sender:self];
 }

通过 prepareForSegue

将您的对象传递给下一个 ViewController
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
 {
   if ([segue.identifier isEqualToString:YOUR_SEGUE_IDENTIFIER]) 
   {
      ActionForPendingDoctorViewController *destViewController =    segue.destinationViewController;
      destViewController.myObjects = [myObject objectAtIndex:selectedIndexPath.row];
   }
 }