ios segue "cancelar"

Dependiendo de un retorno de XML, no quiero que el segue actual funcione en UIB con el button táctil.

Sé que puedo elegir qué segue quiero realizar , pero ¿cómo hacer que una segue no funcione? O al less no realizar ninguno de los segues disponibles?

Si su objective de implementación es iOS 6.0 o posterior, puede anular el -[UIViewController shouldPerformSegueWithIdentifier:sender:] para devolver YES si desea realizar la segue y NO si no lo hace.

Si su destino de implementación es anterior a iOS 6.0, no recibirá el shouldPerformSegueWithIdentifier:sender: Entonces, en su guión gráfico, no dibuje el segue desde el button. En cambio, dibuje el segue desde el controller de vista del button y proporcione a la segue un identificador. Conecte el button a una IBAction en su controller de vista. En la acción, compruebe si desea realizar la segue. Si desea realizarlo, performSegueWithIdentifier:sender: pasando el identificador que asignó a la segue en el guión gráfico.

Apple Developer Documentation tiene el método correcto para cancelar una segue que se administra dentro de StoryBoard:

 - (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender 

Por ejemplo:

 - (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender { if ([identifier isEqualToString:@"listPopover"]) { if (self.listPopover == nil) { // Allow the popover segue return YES; } // Cancel the popover segue return NO; } // Allow all other segues return YES; } 

Mira este hilo: https://stackoverflow.com/a/42161944/4791032

Puede simplemente comprobarlo en func tableView(_ tableView: UITableView, willSelectRowAt indexPath: IndexPath)