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