Привет! Где лучше проверять актуальность access_token в ios? В appDelegate или например сделать BaseViewController и потом его унаследовать в каждом view controller?
doublench21, чуток не то.
Вот ситуация. Пользователь бродил по приложению, остановился на каком то вью контроллере и ушёл в фон. Через 3 часа вернулся. На этом этапе нужное провериться не истек ли токен. Да, метод может быть в модели User, но его нужно вызвать. Та вот откуда вызывать?
Игорь Безлепкин, какой вопрос - такой ответ. В таком контексте вам помогут методы AppDelegate.
func applicationWillResignActive(_ application: UIApplication) {
// Sent when the application is about to move from active to inactive state.
// This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message)
// or when the user quits the application and it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks.
// Games should use this method to pause the game.
}
func applicationDidEnterBackground(_ application: UIApplication) {
// Use this method to release shared resources, save user data, invalidate timers, and store enough application
// state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate:
// when the user quits.
}
func applicationWillEnterForeground(_ application: UIApplication) {
// Called as part of the transition from the background to the active state; here you can undo many of the
// changes made on entering the background.
}
func applicationDidBecomeActive(_ application: UIApplication) {
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the
// application was previously in the background, optionally refresh the user interface.
}
func applicationWillTerminate(_ application: UIApplication) {
// Called when the application is about to terminate. Save data if appropriate.
// See also applicationDidEnterBackground:.
}