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

Ответы:

170

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

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

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

Перья загружаются с использованием:

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

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

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

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

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

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

dannywartnaby
источник
1
@dannywartnaby: подробное описание !! +1
Джайпракаш Дубей
1
отличное объяснение!
TMin