自定义 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];
}
}
我创建了一个自定义单元格调用 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];
}
}