Как быстро запустить таймер в фоновом режиме? - PullRequest
0 голосов
/ 11 июля 2020

Я хочу выполнять быструю фоновую работу

Я делаю таймер

Однако таймер не работает, когда приложение находится в фоновом режиме

И я хочу чтобы получить сигнал тревоги через определенный промежуток времени

Что делать? Спасибо

Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(timerAction), userInfo: nil, repeats: true)

1 Ответ

0 голосов
/ 11 июля 2020

Думаю, вам поможет таймер отправки. Проверьте это (таймер установлен на 1 се c интервал)


private lazy var timer: DispatchSourceTimer = {
        var timer = DispatchSource.makeTimerSource(flags: DispatchSource.TimerFlags.strict, queue: self.queue)
        timer.schedule(deadline: .now(), repeating: .seconds(Int(.milliseconds(1000))), leeway: .milliseconds(1))
        timer.setEventHandler(handler: { [weak self] in
        //code to be executed repeatedly   
        timerAction()
    })
        return timer
}()


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