Scenario:
- Istanziare un UIViewController e l'ho aggiunto a containerViewController.
- Io congedo (rimuovi) questo bambino
- Seleziono di nuovo questo stesso bambino.
La mia preoccupazione: Desidero creare un'istanza UIViewController su un singolo figlio.
Ma sembra che vorrei creare un'istanza aggiuntiva del controller di visualizzazione figlio per l'iterazione "caso", che non voglio.
Domanda: Swift lo gestisce già?
... o devo verificare l'istanza del controller di visualizzazione corrente prima di renderlo un bambino?
Se devo verificare la sua esistenza, allora dovrò rendere "viewController" globale per tutti i casi.
risposte:
0 per risposta № 1No Swift non lo gestisce automaticamente. È necessario controllare i controller esistenti della vista secondaria per impedire l'aggiunta di duplicati.
Potresti usare un codice come questo:
if let controller = parent.childViewControllers.filter { $0 is CountriesViewController }.first {
// use existing child controller here
}
else {
// create new child controller and add it to parent here
}