в этом приложении при первом использовании вы получаете 3 страницы приветствия. После последнего я сохраняю bool в true в UserDefaults, чтобы пропустить эти приветственные страницы в следующий раз, когда пользователь запустит приложение.
Для этого в AppDelegate.swift я делаю следующее:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. if UserDefaultsVault.shared.getDidFinishIntro() == true { self.window = UIWindow(frame: UIScreen.main.bounds) let storyboard : UIStoryboard = UIStoryboard(name: «Main», bundle: nil) let mainVC = storyboard.instantiateViewController(withIdentifier: «mainPage») as UIViewController self.window?.rootViewController = mainVC self.window?.makeKeyAndVisible() } return true }
Я, конечно, добавил идентификатор раскадровки к моему контроллеру представления в раскадровке, и я также проверил с помощью точки останова, выполняется ли условие (и это правда).
Несмотря на это, главный контроллер не будет создавать экземпляр.
Я сделал другое приложение с этим кодом, и оно всегда работало!
Я что-то ошибся?
В вашем проекте есть SceneDelegate.swift файл? — person Lifetronic schedule 17.06.2020
Здравствуйте, спасибо за ответ. да. — person Lifetronic schedule 17.06.2020
stackoverflow.com/a/58208876 — person Lifetronic schedule 17.06.2020
Источник: