2010-12-10 2 views
0

Я использую [NSTimer scheduledTimerWithInterval:selector:@selector(loop):repeats:YES] для создания бесконечного цикла с -loop(), который вызывается каждый интервал. У моего диспетчера просмотров также есть -touchesBegan для обработки UITouch. Предположим, что экран коснулся и запущен UIEvent, выполняется ли код в -touchesBegan первым в цикле выполнения или код в -loop, который NSTimer выполняет первым?Порядок выполнения в цикле запуска

ответ

2

Это объясняется в this Apple document.

Однако это не так уж полезно. NSTimer не является механизмом реального времени, и вы не можете точно предсказать, когда он срабатывает. Это также будет зависеть от того, как часто iOS регистрирует события касания и как часто вы настраиваете таймер для запуска. Это было бы очень, очень, очень Плохая идея написать код, который зависит от этих тонкостей и функций, глубоко погруженных в документацию, которую я только что процитировал.

Напишите код, который не зависит от того, что вы только что попросили.

Смежные вопросы