В общем, опрос плохой. Любой способ не опрашивать?
Спальные темы тоже плохо; действительно следует избегать. Особенно основной поток (не знаю, основной это поток или нет)
В частности, не гарантируется точность всех вариантов сна по разным причинам.
Вы можете попробовать dispatch_after () или NSTimer, но вряд ли это будет более точным. Это, по крайней мере, не спит () поток.
В целом, ваш код должен быть написан так, чтобы он обрабатывал вещи примерно в нужное время, а затем использовал системные часы, чтобы определить, сколько времени фактически прошло. Обратите внимание, что из-за различных приемов управления энергопотреблением и снижения теплового режима скорость самого процессора может быть переменной. Таким образом, такие вещи, как количество тактов, не имеют смысла.