#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 минут.