Il mio obiettivo è scrivere un codice che quando un utente riceve una notifica push, voglio che l'utente venga reindirizzato a un'altra vista. Se l'utente viene fornito con la notifica push e se è stato visto prima il controller (schermata iniziale di benvenuto, ecc (ma non loggato))Reindirizzare una vista con notifica push in AppDelegate
var rootViewController = self.window!.rootViewController as! ViewController
rootViewController.performSegueWithIdentifier("hospitalSegue", sender: self)
Questa coppia di linee di codice sta lavorando, tuttavia, se il l'utente è stato in un altro controller di visualizzazione (accesso/login/pagina utente, ecc.) questa parte di codice non funziona e reindirizza. Ho provato di tutto e non riesco ancora a trovare una soluzione. Il mio obiettivo finale è questo:
if let rootViewController = self.window!.rootViewController as? ViewController
{
var rootView: UserViewController = UserViewController()
if let window = self.window{
window.rootViewController = rootView
}
rootViewController.performSegueWithIdentifier("hospitalSegue", sender: self)
println(self.window?.rootViewController)
}
Qualcuno può darmi un'idea?
Suona come una grande Idea. Come si ricevono le notifiche push? E forse puoi darci una panoramica delle tue opinioni all'interno di InterfaceBuilder, dipende dalla tua gerarchia, come reindirizzare a una vista differente. –
Stai visualizzando un 'UIViewController' modally? – Lefteris
Utilizzare un NSNotificationCenter. https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSNotificationCenter_Class/ –