/ / Come gestisco i bambini UIViewControllers ricorrenti? - swift3, childviewcontroller

Come gestisco i bambini UIViewControllers ricorrenti? - swift3, childviewcontroller

Scenario:

  1. Istanziare un UIViewController e l'ho aggiunto a containerViewController.
  2. Io congedo (rimuovi) questo bambino
  3. 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.

inserisci la descrizione dell'immagine qui

inserisci la descrizione dell'immagine qui

risposte:

0 per risposta № 1

No 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
}