. ViewController, segue, ViewController. .
BaseViewController, View BaseViewController. , , BaseViewController ( , ).
,
class BaseViewController : UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.logOut()
}
func logOut() {
}
}
, ViewController, , viewController . , initialViewController - rootViewController , BaseViewController
override func viewDidLoad() {
super.viewDidLoad()
//implement your logic to monitor if user is still logged in if user not logged in simply call
self.logOut()
UIApplication.shared.keyWindow?.rootViewController?.navigationController?.popToRootViewController(animated: true)
}
:
, , ViewController, ViewController .
,
ViewController , , , , , .
, View, , ?
VC ViewController, , viewController, , , , , ?? ?
?
.
AppDelegate
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
guard let window = UIApplication.shared.keyWindow else {
return
}
if (userIsLoggedIn) {
let homeVC =
UIView.transition(with: window, duration: 0.3, options: .transitionCrossDissolve, animations: {
window.rootViewController = homeVC
}, completion: { completed in
})
}
else {
let initialVC =
UIView.transition(with: window, duration: 0.3, options: .transitionCrossDissolve, animations: {
window.rootViewController = initialVC
}, completion: { completed in
})
}
}
, VC VC, , , root VC
let initialVC =
UIView.transition(with: window, duration: 0.3, options: .transitionCrossDissolve, animations: {
window.rootViewController = initialVC
}, completion: { completed in
})