Что такое владелец файла и первый ответчик в iOS - Xcode?

Что такое владелец файла и первый ответчик в iOS - Xcode?


person Matrix    schedule 22.09.2010    source источник


Ответы (1)


Владелец файла — это созданный экземпляр объекта runtime, который владеет содержимым вашего пера и его выходами/действиями при загрузке пера. Это может быть экземпляр любого класса, который вам нравится — взгляните на вкладку идентификации на палитре инструментов.

Владелец файла является основным связующим звеном между кодом вашего приложения и содержимым файла пера.

Например, предположим, что у вас есть подкласс UIViewController с IBOutlet для UILabel. В построителе интерфейса владелец файла будет установлен в тот же класс, что и ваш UIViewController. Когда ваш наконечник загружается во время выполнения, привязки выходов и действий, определенных в вашем наконечнике, привязываются к экземпляру вашего контроллера представления, поскольку ваш контроллер представления является владельцем.

Перья загружаются с помощью:

[[NSBundle mainBundle] loadNibNamed:@"NibName" owner:nil options:nil];

Параметр владельца особенно важен. Это экземпляр среды выполнения класса, которому принадлежит содержимое (выходные точки, действия и объекты) загружаемого пера.

Надеюсь, это ясно. Чтобы увидеть это в действии, создайте новый проект iPhone с контроллером представления. Откройте файл Nib и взгляните на вкладку идентификации.

Первый ответчик — это просто первый объект в цепочке ответчиков, который может реагировать на события. Цепочка респондентов — это набор (или, точнее, иерархия) объектов времени выполнения, которые могут реагировать на событие. Например, предположим, что у вас есть окно с представлением, и в этом представлении есть текстовое поле.

Если это текстовое поле имеет фокус, оно называется первым респондентом в цепочке. Поэтому, если вы отправляете сообщение первому ответившему, оно сначала будет отправлено в текстовое поле. Если текстовое поле не может обработать сообщение, оно будет отправлено следующему ответчику. И следующее. И следующее, пока вы не дойдете до конца цепочки респондеров или что-то не поглотит событие (iirc).

О цепочке респондентов стоит прочитать — для получения дополнительной информации перейдите в документацию Apple.

person dannywartnaby    schedule 22.09.2010
comment
@dannywartnaby: подробное описание!! +1 - person Jayprakash Dubey; 25.03.2015
comment
отличное объяснение! - person TMin; 18.12.2016