Полный код ниже. Это всего лишь мои рассуждения. У меня есть оператор 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)
}
})
}