Почему мое всплывающее окно задерживается (Swift)? - PullRequest
0 голосов
/ 27 мая 2018

Я начинающий программист Swift, работающий над своим первым приложением.В рамках простой игры я выполняю функцию (F) со следующим кодом где-то посередине

if let vc = storyboard?.instantiateViewController(withIdentifier: 
"P2CompetitionPopUpId") as? P2_Competition_Pop_Up {
            vc.modalPresentationStyle = .overCurrentContext
            present(vc, animated: true, completion: nil)
        } else {
            print("error creating P2_Competion_Pop_Up")

Однако, когда я запускаю это, всплывающее окно не появляется, пока не завершится вся функция (F) выполнил.Почему это?И как заставить функцию (F) приостановить работу во время всплывающего окна и возобновить его после закрытия?

1 Ответ

0 голосов
/ 27 мая 2018

Оберните это в асинхронный вызов:

DispatchQueue.main.async {
    if let vc = self.storyboard?.instantiateViewController(withIdentifier: "P2CompetitionPopUpId") as? P2_Competition_Pop_Up {
        vc.modalPresentationStyle = .overCurrentContext
        self.present(vc, animated: true, completion: nil)
    } else {
        print("error creating P2_Competion_Pop_Up")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...