Я пытаюсь создать функцию, позволяющую пользователям отправлять сообщения раз в 60 секунд.
Я подумал, что хорошим способом для этого может быть использование таймера в блоке didSet
переменная bool, которая отслеживает, может ли пользователь отправить сообщение, и сбрасывает bool обратно в false каждые 60 секунд. Пользователь может попытаться отправить много сообщений в течение 60 секунд, поэтому он должен работать более одного раза, поэтому я проверяю, работает ли таймер.
Как бы вы это сделали?
Вот мой код, который я считаю близким:
private var isTimerOn: Bool = false
private var isSending: Bool = false {
didSet {
if !isTimerOn {
let _ = Timer.scheduledTimer(withTimeInterval: 60, repeats: true){ _ in
self.isSending = false
self.isTimerOn = true
}
}
}
}
func sendMessage(){
isSending = true
}