Описание тега nstimer
В Objective C ( objective-c) вы используете класс NSTimer для создания объектов таймера или, проще говоря, таймеров. Таймер ожидает, пока не истечет определенный интервал времени, а затем срабатывает, отправляя указанное сообщение целевому объекту. Например, вы можете создать объект NSTimer, который отправляет сообщение окну, предлагая ему обновить себя через определенный интервал времени.
Таймеры работают вместе с циклами выполнения. Чтобы использовать таймер эффективно, вы должны знать, как работают циклы выполнения - см. Руководство по программированию NSRunLoop и многопоточности. Обратите внимание, в частности, на то, что циклы выполнения сохраняют свои таймеры, поэтому вы можете разблокировать таймер после добавления его в цикл выполнения.
Таймер - это не механизм реального времени; он срабатывает только тогда, когда один из режимов цикла выполнения, к которому был добавлен таймер, работает и может проверить, прошло ли время срабатывания таймера. Из-за различных источников ввода, которыми управляет типичный цикл выполнения, эффективное разрешение временного интервала для таймера ограничено порядка 50–100 миллисекунд. Если время срабатывания таймера наступает во время длительного вызова или когда цикл выполнения находится в режиме, который не контролирует таймер, таймер не срабатывает до тех пор, пока цикл выполнения не проверит таймер в следующий раз. Следовательно, фактическое время срабатывания таймера потенциально может быть значительным периодом времени после запланированного времени срабатывания.
NSTimer
является "бесплатным мостом" с его Core Foundation
( ядро-фундамент) аналог, CFRunLoopTimerRef. См. Раздел " Бесплатный мост " для получения дополнительной информации о бесплатном мостовом соединении.
Дополнительные примеры для NSTimer
объект можно найти здесь.