Non riesco a ottenere questo SIGABRT che continuo a ricevere. Ho questa applicazione iOS per lo storyboard, e nello storyboard ho un UITableViewController. Ora, posso prendere una cella di TVC e farla spingere il controller di visualizzazione "segue", ma cosa succede se ho bisogno di interrompere l'azione "segue" a determinate condizioni? Apparentemente non puoi, dal momento che prepareForSegue: sender: metodo non lo consente, e sembra essere l'unico callback che viene chiamato quando una transizione sta per essere eseguita.performSegueWithIdentifier vs instantiateViewControllerWithIdentifier
Quindi ho indovinato che potrei entrare nella tabellaView: didSelectRowAtIndexPath: ed eseguire i passaggi a livello di programmazione. Subottimale, ma comunque ...
Bene, si scopre che ho sbagliato. O almeno, sto facendo qualcosa di sbagliato. Il modo più ovvio per farlo sarebbe
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSegueWithIdentifier:@"TheOtherIdentifier" sender:self];
}
ma l'intera applicazione si blocca con un SIGABRT, che non dà tutte le informazioni utili (e sì, io sono sicuro che è quella linea che rende l'incidente app, ho controllato con il debugger :) Inoltre, il VC sto cercando di caricare ha l'identificatore impostato correttamente, perché il seguente codice
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UIViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"TheOtherIdentifier"];
[self.navigationController pushViewController:vc animated:YES];
}
"funziona". Le virgolette indicano che questo non è chiaramente il modo in cui tale transizione dovrebbe essere eseguita.
Ora: idee?
Giusto per essere chiari, hai detto di aver impostato questo identificatore per il controller della vista di destinazione. Ma hai impostato un identificatore per il seguito stesso? Questo è l'identificatore che devi usare nel primo caso. –
Ok, mi mancava quello. Fare riferimento alla risposta di T.J. per ulteriori commenti. – Morpheu5