В настоящее время я проверяю скорость своего устройства в функции делегата locationManager:didUpdateLocations
. В случае события я хочу подождать 10 секунд, а затем снова проверить скорость моего устройства, но я не хочу, чтобы мое приложение было приостановлено в течение этих десяти секунд, я хочу, чтобы мое устройство все еще обновляло его скорость, поэтому, когда я проверяю его снова через 10 секунд, это на самом деле его скорость через 10 секунд. Не только скорость прямо перед тем, как я начал ждать 10 секунд. Кто-нибудь знает, как я должен это делать?Хотите подождать некоторое время, прежде чем снова проверить скорость CLLocationManager?
0
A
ответ
0
Попробуйте это:
Ваша скорость обновляется, а затем при входе ее в течение 10 секунд он принимает текущее значение, которое хранится в в self.currentLocation
.
Так что в моем случае вторая задержка 10 работает на кране:
- (void)locationManager:(nonnull CLLocationManager *)manager didUpdateLocations:(nonnull NSArray<CLLocation *> *)locations {
NSLog(@"current speed: %f", locations[0].speed);
CLLocation *location = [locations objectAtIndex:0];
self.currentLocation = location;
}
Жест распознаватель:
UITapGestureRecognizer *logoTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(logoTapped:)];
И обработчик события:
- (void)logoTapped:(id)sender {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(10 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
NSLog(@"SPEED AFTER 10 SECONDS OF WAIT: %f", self.currentLocation.speed);
});
}
Смежные вопросы
- 1. Сообщите программе Ruby, чтобы подождать некоторое время
- 2. Как подождать некоторое время, прежде чем добавлять элементы в css? JavaScript?
- 3. Java как подождать, прежде чем идти
- 4. Как подождать некоторое время в pygame?
- 5. Как я могу подождать некоторое время, а затем изменить переменную?
- 6. Эспрессо, как подождать некоторое время (1 час)?
- 7. Нажмите, чтобы закончить, прежде чем снова активировать
- 8. CLLocationManager устанавливает скорость обновления
- 9. CLLocationManager не получает обновления в фоновом режиме через некоторое время
- 10. Как можно подождать некоторое время после нажатия кнопки?
- 11. CLLocationManager всегда возвращает скорость: -1
- 12. Python Selenium как подождать, прежде чем нажимать на ссылку
- 13. Как подождать немного, прежде чем рисовать Путь на холсте?
- 14. Как подождать рендеринга, прежде чем действовать на событие click?
- 15. PHP Unix время «прежде чем 2pm сегодня»
- 16. Мне нужно подождать несколько секунд, прежде чем TextToSpeech говорит
- 17. JQuery подождать, пока элемент не спрятался, прежде чем продолжить
- 18. Условный отбор, прежде чем определенное время суток - панды dataframe
- 19. Thread продолжает обновляться некоторое время, прежде чем перейти к следующему действию, а коллизии отключены.
- 20. onPreviewFrame не вызывается через некоторое время, прежде чем он отлично работает
- 21. HTML - проверить «необходимый атрибут», прежде чем продолжить
- 22. Как проверить систему, прежде чем перезагружать ее?
- 23. Ждите, пока потоки не закончатся, прежде чем запускать их снова
- 24. Как проверить некоторые поля некоторое время?
- 25. Вы хотите снова сыграть
- 26. время ожидания, прежде чем перенаправить в PHP
- 27. java.lang.NoClassDefFoundError через некоторое время
- 28. Node.js и Javascript/Дата объект - занять некоторое время, прежде чем х часов
- 29. Почему спящий режим загружает объект снова, прежде чем делать saveAndFlush?
- 30. Если! (Условие) - попробуйте условие снова через некоторое время
я разместил это для Я посмотрел на ваш ответ, и я собирался удалить свой другой вопрос, потому что думал, что это плохо написано. Но ваша линия, где говорится «СКОРОСТЬ ПОСЛЕ 10 СЕКУНД ЖДЕТ: 33. 3100', должна быть скорость устройства через 10 секунд? – Amacc002
Да, это скорость устройства (iPhone) после 10 секунд ожидания (после того, как я нажал кнопку). –
хорошо, тогда я собираюсь сказать, что это неправильно. У меня такая же проблема, как и у меня. текущая скорость перед ожиданием 33.3100, а скорость после ожидания 10 секунд также равна 33.3100? Я сомневаюсь, что они точно такие, когда никакие другие две скорости не совпадают во всем списке. Я не думаю, что он обновляет вашу скорость, пока вы «ожидаете», и когда вы выходите из ожидания, он просто возвращает последнее значение скорости, которое оно имело до того, как оно снова начнет обновление. если я просто не понимаю, как его правильно работать – Amacc002