Как запустить код в определенное время в Swift - PullRequest
0 голосов
/ 09 марта 2019

Я просмотрел все, но не могу найти ответ на этот вопрос. Я хочу, чтобы определенная функция выполнялась в 6:00 и 18:00 каждый день для режима день / ночь в моем приложении. Это не нужно запускать в фоновом режиме, только когда приложение открыто, но я также хочу указать другие функции приложения, пока оно проверяет время.

1 Ответ

0 голосов
/ 09 марта 2019

Вы можете сделать это так.Просто установите Date с помощью объекта Calendar.Укажите свое конкретное время в военных часах (от 0 до 24, где 0 - полночь) и вуаля !, если ваше приложение находится на переднем плане и в указанное время включается, вы увидите, что функция, которую вы использовали в качестве селектора, выполняет

Дайте ему шанс и счастливое кодирование

override func viewDidLoad() {
    super.viewDidLoad()

    let calendar = Calendar.current 

    let now = Date()
    let date = calendar.date(
        bySettingHour: 23,
        minute: 52,
        second: 0,
        of: now)!

    let timer = Timer(fireAt: date, interval: 0, target: self, selector: #selector(runCode), userInfo: nil, repeats: false)

    RunLoop.main.add(timer, forMode: RunLoop.Mode.common)
}

func runCode() {
    print("Do whatever here")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...