Если переход выполняется для оператора else, как вы защищаетесь от случаев, когда предыдущий оператор обрабатывается слишком поздно? - PullRequest
0 голосов
/ 10 ноября 2019

Полный код ниже. Это всего лишь мои рассуждения. У меня есть оператор if, который проверяет что-то, а затем оператор else с помощью segue. Сейчас 99% это работает отлично, но если я начну быстро и непрерывно нажимать кнопку на экране, иногда переход будет выполнен ошибочно. Я держу пари, что это потому, что телефон перегружен многими касаниями и не распознает достаточно быстро, чтобы утверждение if было правильным

override func viewDidLoad() {let databaseRef = Database.database().reference()
    let uid = Auth.auth().currentUser!.uid
    databaseRef.child("people").child(uid).child("caption").observeSingleEvent(of: .value, with: { (snapshot) in
        guard let caption = snapshot.value as? Int else { return }
        print(caption)
        let date = Date(timeIntervalSince1970: TimeInterval(caption)/1000.0)
        print(date)
        let secondsInDay = 86400
        if Calendar.current.isDateInToday(date){
            print(Int(-date.timeIntervalSinceNow) )
            print("dick" , date)
        } else {
            print("ppp")
            self.performSegue(withIdentifier: "tofirst", sender: nil)
        }
    })
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...