Как определить, зарегистрирован или нет пользователь разбора на экране запуска - PullRequest
0 голосов
/ 08 сентября 2018

В моем приложении ios есть три раскадровки: экран запуска, основная раскадровка и раскадровка для входа. Я хочу знать, как определить, вошел ли пользователь с парсингом в систему или нет на экране запуска, чтобы затем перенаправить приложение на основную раскадровку (если пользователь вошел в систему) и раскадровку входа в систему (если это не так). Проблема в том, что когда я пытаюсь сделать это, я не знаю, какой View Controller создать на экране запуска, так как это экран запуска и не содержит контроллера представления. Может кто-нибудь, пожалуйста, помогите мне, спасибо!

Ответы [ 2 ]

0 голосов
/ 08 сентября 2018

Возможно, вы захотите использовать AppDelegate, чтобы проверить, вошел ли пользователь в систему, а затем использовать конкретную раскадровку:

func application(_ application: UIApplication, 
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool
    let controller = AppController()

    let storyboard: UIStoryboard
    if controller.isLoggedIn() {
        storyboard = UIStoryboard(name: "Main", Bundle.main)
    } else {
        storyboard = UIStoryboard(name: "Login", Bundle.main)
    }

    window!.rootViewController = storyboard.instantiateInitialViewController()!
}

Однако вы должны установить LaunchScreen.storyboard в качестве Main Storyboard в настройках вашего приложения, чтобы оно не запускалось Main.storyboard автоматически.

0 голосов
/ 08 сентября 2018

Вы можете выполнить следующие шаги для решения вашей проблемы:

1. Сохраните любую переменную или значение в UserDefaults во время входа в систему, чтобы гарантировать, что какой-либо пользователь вошел в приложение.

2.В AppDelegate проверьте значение, которое вы сохранили в UserDefaults.

3.Если вы получите значение, перейдите к экрану Landing, иначе перейдите к пользователю для входа в систему.

...