以编程方式选择tableview上的单元格不会执行关联的segue

Car*_*los 4 uitableview ios segue

好吧,正如我在主题中所说,我的问题是我正在以编程方式选择tableview上的一个单元格,意图自动执行相关的segue.我有相关的tableviewcontroller的viewWillAppear上的代码.

结果是选择了单元格,但不执行segue.你知道为什么吗?

到目前为止,我在viewWillAppear上以编程方式执行segue以解决问题,但我很好奇为什么如果选择单元格则不会自动执行segue ...

顺便说说.segue必须正常,因为当我选择单元格点击时,它可以正常工作.

更多信息:我正在研究splitviewcontroller.左侧有tableviewcontroller,segue右侧有一个viewcontroller

非常感谢!

卡洛斯

相关代码:

- (void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];

// Si no hay ninguna fila seleccionada, seleccionaremos la primera

// Obtenemos la fila seleccionada
NSIndexPath *filaSeleccionadaPath = [self.tableView indexPathForSelectedRow];

// Si no hay ninguna fila seleccionada
if (!filaSeleccionadaPath)
{
    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
    [self.tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];

}
Run Code Online (Sandbox Code Playgroud)

}

Den*_*cht 6

文件UITableView说明:

调用此方法不会导致委托接收tableView:willSelectRowAtIndexPath:或tableView:didSelectRowAtIndexPath:message,也不会向观察者发送UITableViewSelectionDidChangeNotification通知.

因此它不会触发任何动作.如果您正在使用segues,您可能希望performSegueWithIdentifier:sender:UIViewController课堂上使用(最有可能self).您可以指定标识符和发送元素(很可能是单元格).