indexPath.row使用didSelectRow正确返回,但不能使用accessoryButtonTapped返回?

时间:2012-12-24 01:31:28

标签: objective-c uitableview

这是我的代码:

- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath
{
    [self performSegueWithIdentifier:@"editInfo" sender:nil];
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"editInfo"]) {
        EditInfoViewController *vc = [segue destinationViewController];
        NSInteger selectedIndex = [[self.tableView indexPathForSelectedRow] row];
        NSLog(@"%d",selectedIndex);
        [vc setSelectedIndex:selectedIndex];
    }
    else if ([[segue identifier] isEqualToString:@"sendMessage"]) {
                 ...
    }
}

selectedIndex变量始终为NSLogged为0 ...有什么建议吗?感谢。

1 个答案:

答案 0 :(得分:4)

点击UITableViewCell的accessoryButton不会选择包含accessoryButton的行。

当您致电performSegueWithIdentifier时,您可以将indexPath作为sender传递,然后您可以在prepareForSegue中引用。