UISplitViewController con NavigationControllers (incluso il codice di esempio)
-
28-09-2019 - |
Domanda
Il modo più semplice per vedere questo problema sarà quello di eseguire il progetto di esempio qui:
In sostanza, è un uisplitviewcontroller che può essere commutato tra 2 viste di dettaglio, entrambi i quali sono i controller di navigazione.
Il problema è che si blocca con il seguente errore:
MultipleDetailViews [8531: 207] * Chiusura di applicazione a causa di eccezione non identificata 'NSInvalidArgumentException', la ragione: 'Popovers non possono essere presentati da una vista che non ha una finestra'
Si blocca con questo errore se si utilizza l'applicazione in verticale e si naviga (ancora in verticale) dal primo controllore, al secondo, al primo, al secondo, e poi boom del CRASH utilizzando il controller popover.
Un modo per fermare l'incidente è quello di fermare il caricamento pigro i controllori di navigazione e di caricarli ogni volta fresco, ma questo non è un'opzione per l'applicazione che sto facendo.
Tutte le idee e io possa innamorarmi.
Soluzione
Provare a utilizzare if (self.view.window! = Nil) appena prima della riga che sta causando l'incidente.