我有一个表格视图,我已配置,以便当用户点击该行时,它将根据特定单元格的名称移动到新视图。但是,当我第一次单击一个单元格时,它什么都不做,当我单击下一个单元格时,它就像我点击了第一个单元格一样。
例如,我有头盔,手杖和手套。如果我按下头盔,没有任何反应。然后,如果我按下Stick,它将为头盔而不是Stick执行didSelectRowAtIndexPath。有关为何发生这种情况的任何建议吗?
//Tapping to change on row
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
NSLog(@"%@", cell.textLabel.text);
if([cell.textLabel.text isEqualToString:@"Helmet"])
{
[self performSegueWithIdentifier:@"toHelmetView" sender:indexPath];
}
}
//Segue control, fetch helmet and send it
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"toHelmetView"])
{
// Fetch the selected object
//EquipmentCategory *o = [_frc objectAtIndexPath:[self.tableView indexPathForSelectedRow]];
// Configure the next view + controller
HelmetView *nextVC = (HelmetView *)segue.destinationViewController;
nextVC.title = @"Helmet";
nextVC.model = self.model;
nextVC.h = [self.model helmetForPlayer:self.p];
}
}
答案 0 :(得分:34)
这是因为您实施了didDeselectRowAtIndexPath
而不是。{
didSelectRowAtIndexPath
。