Быстрое время между запуском функции

#ios #swift #xcode #swift3

#iOS #быстрое #xcode #swift3

Вопрос:

Я почти новичок в swift Xcode, и я создаю приложение, когда конечный пользователь находится рядом с iBeacon hi, получит локальное push-уведомление.
Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда он приближается к ней (если он возвращался назад и вперед, он будет получать каждый раз, когда он рядом).
Поэтому я думаю ограничить по времени примерно 5 минут примерно так.
Я не могу найти в Swift, как ограничить выполнение функции в течение определенного времени. (например, 5 минут)

Может ли кто-нибудь указать мне правильное направление?

Спасибо за помощь.
Я пытался работать с таймером, но он не справился со своей задачей.

Комментарии:

1. Опубликуйте код, который вы пробовали.

2. Как насчет создания переменной даты с использованием NSDate для записи текущей даты и времени и тестирования этой переменной перед запуском функции?

Ответ №1:

Вы можете создать переменную: beaconsHasBeenRecognized, чтобы она становилась true, когда маяк был распознан, затем в следующий раз, когда пользователь переходит туда и обратно, перед запуском уведомления ваш код должен оценить его beaconsHasBeenRecognized , его false , в противном случае, если оно равно true, уведомление не будет запущено. Затем с помощью таймера, в тот момент, когда вы устанавливаете для beaconsHasBeenRecognized значение true, вы запускаете таймер, чтобы изменить beaconsHasBeenRecognized на false в течение требуемого времени, например, 5 минут.