Hallo, ich habe einen Anmeldebildschirm und Registrierungsbildschirm in einem Nav-Controller für wenn ein Benutzer anmeldet oder in einer Anwendung anmelden möchte. Ich habe auch einen Tab-Controller erstellt, der den Startbildschirm anzeigt. Nachdem der Benutzer sich anmeldet oder sich anmeldet, möchte ich in der Lage sein, zum Tab-Controller zu wechseln und diesen zum Root-View-Controller zu machen, und somit kann der Benutzer nicht zur Anmeldungs- oder Registrierungsseite zurückkehren. Bitte wie kann das erreicht werden?Wie man von einem Nav-Controller zum Tab-Controller übergeht und es Root-View-Controller
Unten finden Sie einige Zeilen Code, wenn sich der Benutzer in
if statusCode == 200 {
do {
let json = try NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments)
let result = json as? [String: AnyObject]
guard let token = result!["token"], let firstname = result!["user"]!["firstname"]! else {
print("Error: \(error?.debugDescription)")
return
}
NSUserDefaults.standardUserDefaults().setObject(token, forKey: "token")
//code to segue to the tab controller from the nav controller (login screen)
self.getHome()
}
catch {
print("Error receiving data")
}
}
})
task.resume()
func getHome() {
let storyboard:UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let tableController = storyboard.instantiateViewControllerWithIdentifier("tabController") as? UITableViewController
let appledDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appledDelegate.window?.rootViewController = tableController
}
in meiner AppDelegate.swift in Datei sehe ich überprüfen, ob ein Token, wenn nicht die Login-Seite oder zeigen Homepage aufruft:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let obj = NSUserDefaults.standardUserDefaults().objectForKey("token")
if obj == nil {
let welcomeHomeController:UIViewController = WelcomeHomeController(nibName: nil, bundle: nil)
welcomeHomeController.view.backgroundColor = UIColor.whiteColor()
let navController:UINavigationController = UINavigationController(rootViewController: welcomeHomeController)
//create window
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
self.window?.backgroundColor = UIColor.darkGrayColor()
self.window?.rootViewController = navController
self.window!.makeKeyAndVisible()
return true
}
Dieser Beitrag könnte Ihnen helfen! http://stackoverflow.com/questions/39159444/how-to-get-navigation-based-template-funktionality-in-swift-programming/39159793#39159793 –