высокоточный таймер в Swift

Что было бы лучшим решением в Swift для точных часов для управления внешним оборудованием? Мне нужно написать функцию цикла, которая будет срабатывать с заданной скоростью в секунду (сотни или тысячи Гц) надежно и с высокой точностью.

One Solution collect form web for “высокоточный таймер в Swift”

Вы можете определить свойство таймера GCD (потому что, в отличие от NSTimer / Timer , вы должны поддерживать свою собственную сильную ссылку на таймер GCD):

 var timer: DispatchSourceTimer! 

И затем создайте таймер (возможно, это .strict который не .strict , приложению и т. Д., С осознанием влияния мощности / батареи / и т. Д.), С помощью makeTimerSource(flags:queue:) :

 let queue = DispatchQueue(label: "com.domain.app.timer", qos: .userInteractive) timer = DispatchSource.makeTimerSource(flags: .strict, queue: queue) timer.scheduleRepeating(deadline: .now(), interval: 0.0001, leeway: .nanoseconds(0)) timer.setEventHandler { // do something } timer.resume() 

Обратите внимание, что вы должны грамотно обрабатывать ситуации, когда таймер не может справиться с точностью, которую вы ищете. Как говорится в документации :

Обратите внимание, что для всех таймеров требуется ожидать некоторую задержку, даже если задано значение ограничения нулевого значения.

Interesting Posts

Ориентация устройства по умолчанию в Xcode 6

Панель поиска для поиска в статье в iOS

iPhone KERN_INVALID_ADDRESS

Создание подгрупп в Xcode для шаблона FILE

Сохранить изображение GIF из URL-адреса в Camera Roll

Предупреждение: несовместимое целое число с преобразованием указателя при использовании типов NS_ENUM

Когда мне следует вызвать registerDefaults:], чтобы гарантировать, что .xib-файл имеет непосредственный доступ к настройкам?

Ошибка при распаковке

AFNetworking: Как / когда запрашивать имя пользователя и пароль для BASIC Auth?

Какова структура / конструкция канонического дизайна в iOS, когда модель должна начать некоторые действия вскоре после запуска?

Настройка UISwitch?

Код должен выполняться один раз после короткой задержки

Изменение цвета текста кнопки при нажатии на IOS

Отправить приложение для iOS 7 сейчас?

Изменение размера UIView на основе текста UILabel в Swift

PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.