Работа диспетчера


Секреты iPad, работа диспетчера

Для нормальной работы диспетчера движения требуется очередь, в которую он будет помещать отдельными частями операции, которые ему предстоит выполнить по мере возникновения соответствующих событий, как указано в предоставляемых ему блоках. Возникает невольное искушение воспользоваться для этой цели стандартной системной очередью, но в документации на класс CMMot ionManage есть явное предупреждение ни в коем случае не делать этого! Дело в том, что стандартная системная очередь может оказаться переполненной прочими событиями, кроме самых важных для системы, но обработать их будет совсем не просто.


Перейдем к настройке акселерометра. Прежде всего проверим, имеется ли в данном устройстве акселерометр. Все выпущенные до сих пор мобильные устройства, работающие под управлением системы iOS, содержат акселерометр, но на всякий случай целесообразно проверять на его наличие и все устройства, которые будут выпускаться в дальнейшем. Затем мы задаем временной промежуток между последовательными обновлениями, указываемый в секундах. В данном случае мы запрашиваем временной промежуток, равный 1/10 секунды. Впрочем, это не гарантирует, что мы будем получать обновления именно с такой частотой. В действительности это не более чем предел, обозначающий оптимальную частоту обновления, с которой диспетчер движения будет предоставлять нужные нам данные. На практике он может обновлять данные еще реже.


Далее мы даем диспетчеру движения команду приступить к предоставлению обновленных данных от акселерометра. Для этой цели передаем ему очередь, куда он будет помещать выполняемые им операции, а также блок, определяющий те операции, которые должны быть произведены при каждом обновлении. Напомним, что блок всегда начинается с символа "шапочки" (А), после чего следует заключенный в круглые скобки список аргументов, которые должны быть заполнены при выполнении блока (в данном случае это данные от акселерометра и, возможно, сообщение об ошибке, предупреждающее о возникшей неполадке), а завершается блок исполняемым кодом, заключенным в фигурные скобки.


Рассмотрим теперь содержимое самого блока. Сначала в нем формируется символьная строка из текущих значений, полученных от акселерометра, или же сообщение об ошибке, если возникнет какая-нибудь неполадка.


  • Дата: 27-01-2015, 18:57

Предыдущие статьи сайта:

Понравилась статья? Ставь лайки, рассказывай друзьям!



Отзывы о статье: Работа диспетчера

Технологии, секреты и фишки Apple: Iphone, iPad, iPod