iOS: Как периодически выполнять функцию - PullRequest
0 голосов
/ 06 августа 2020

Мне нужно, чтобы функция вызывалась один раз в неделю для сброса прогресса пользователя. Функция должна вызываться каждую неделю один раз в установленный день, если пользователь открывает приложение в этот день. Если приложение не было открыто (и, следовательно, функция не была вызвана) в установленный день на этой неделе, функция должна быть вызвана при следующем открытии приложения.

Как можно go делать что в Swift?

1 Ответ

3 голосов
/ 06 августа 2020

Вот простой способ. Сначала сохраните от Date() до UserDefaults время последнего выполнения метода. Затем проверьте, выполнялся ли метод в течение последней недели, если нет, выполните метод и замените сохраненное Date новым текущим Date().

Обновление: это предполагает, что задача должна выполняться периодически семь дней после даты, когда задача была выполнена ранее, он не учитывает конкретный день недели, например, если вы хотите, чтобы задача была выполнена в следующее воскресенье, даже если задача ранее выполнялась в субботу предыдущей недели, вы можете просто сохранить первый день недели вместо сохранения текущей даты.

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