Вообще говоря, причины для получения событий можно разделить на четыре категории.

Это неофициальные, но придуманные мною категории. Зачастую оказывается не совсем ясно, к какой именно категории следует отнести конкретное событие. Более того, событие может подпасть сразу под две категории. Тем не менее этими категориями удобно пользоваться, чтобы наглядно представить, как и почему среда Cocoa взаимодействует с прикладным кодом. Ниже показано, каким образом события разделяются по этим четырем категориям.

Пользовательские события

Пользователь выполняет какую-нибудь операцию в диалоговом режиме, а событие инициируется непосредственно. Очевидными тому примерами служат события, получаемые, когда пользователь касается или проводит пальцем по экрану или же нажимает клавишу.

События времени действия

Это события, уведомляющие о наступлении определенной стадии во время действия приложения, например, когда приложение запускается на выполнение, готово перейти в фоновый режим работы или только что загруженный его компонент (например, представление типа UlViewController) должен быть удален с экрана.

Функциональные события

Такие события наступают в том случае, если в среде Cocoa предполагается сделать что-нибудь, а прикладному коду требуется предоставить дополнительные функциональные возможности, и тогда она обращается к нему. К этой категории относятся события, связанные с воспроизведением представления типа UlView с помощью метода drawRect: или надписи на метке типа UILabel с помощью метода drawTextlnRect:, как было показано в главе 10.

Запросные события

Такие события наступают в том случае, если среде Cocoa требуется обратиться с запросом к прикладному коду. В этом случае ее поведение зависит от получаемого ответа. Например, порядок появления данных в таблице (типа UITableView) таков, что всякий раз, когда среде Cocoa требуется ячейка таблицы, она запрашивает ее у прикладного кода.


 

 

 

Добавить комментарий