Swift 5 Programmati c Segue не стреляет - PullRequest
1 голос
/ 09 января 2020

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

Я создал текстовую кнопку с переходом, но она никогда не срабатывает. Строка print ("Logged In") функционирует, но не работает. Я хочу, чтобы мои кнопки были отключены для предотвращения случайных нажатий, но их включение или отключение не влияет на его срабатывание.

Мой код в InitialViewController.swift:

override func viewDidLoad() {
    super.viewDidLoad()
    checkLoginStatus()
}

func checkLoginStatus() {
    let defaults = UserDefaults.standard
    let isLoggedIn = defaults.bool(forKey: "loggedIn")

    if (isLoggedIn == true) {
        print("Logged In")
        self.performSegue(withIdentifier: "HomeController", sender: self)
    }

    else {
        print("Not Logged In")
        self.performSegue(withIdentifier: "LoginController", sender: self)
    }
}

1 Ответ

0 голосов
/ 09 января 2020

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

  1. Нажмите и удерживайте правой кнопкой мыши свойство View Controller, чтобы назначить его другому контроллеру представления внутри вашего раскадровка таким образом:

enter image description here

Выберите тип презентации в разделе Manual Segue и нажмите на него:

enter image description here

Дайте идентификатор для вновь созданного segue («HomeController» или «LoginController» в вашем случае):

enter image description here

Удалите старую последовательность, которая запускается нажатием кнопки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...