Faccio il walkthrough (flusso di bordo) nella mia app e mi piacerebbe avere un pulsante di salto. Il pulsante si trova su viewController, quindi ho capito che il modo migliore per spostarsi su un'altra viewController sarebbe accedere alla finestra di delegazione dell'app.Swift - Accesso alla finestra AppDelegate da viewController
Tuttavia, continua a farmi un errore che AppDelegate.Type non ha un membro chiamato "finestra".
@IBAction func skipWalkthrough(sender: AnyObject) {
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
AppDelegate.window!.rootViewController = RootViewController
}
C'è qualcosa di sbagliato in tale approccio?
Grazie in anticipo!
Ok destra, che errore studip! A proposito, ora c'è un problema con RootViewController, come accedere a questo controller di visualizzazione che è dichiarato nello storyboard? Immagino che fare una nuova istanza non sia una buona idea? Voglio dire RootViewController() porta a schermo nero, quindi dovrebbe essere un'altra attesa per accedere a tale controller – DCDC
Ecco come faccio nel mio codice 'lascia storyboardId =" LoginStoryboardIdentifier "' 'self.window? .rootViewController = self.window? .rootViewController? .storyboard? .instantiateViewControllerWithIdentifier (storyboardId) as? UIViewController' –
Funziona perfettamente ma, mentre osservo il consumo di memoria, non vedo alcuna diminuzione della memoria quando sostituisco il controller Root View (a) con (b). Significa che (a) non è stato cancellato dalla memoria, giusto? Come cancellare dalla memoria 1 ° e poi mostrare (b) controller –