Немного подробнее: когда вы добавляете объекты в файл nib / xib, происходит то, что живые объекты создаются, а затем архивируются в файл nib.При загрузке файла пера эти архивные объекты не архивируются и «возвращаются к жизни» с теми же настройками, которые были у них при первоначальном архивировании.Кроме того, любые соединения, которые вы делаете в nib-файле между фактическими (UILabel, UIViewController и т. Д.) Объектами и прокси-объектами («Владелец файла»), заполняются указателями на эти вновь разархивированные / созданные объекты.Обратите внимание на особую роль Владельца Файла: класс, которому назначен Владелец Файла, это , а не , созданный во время загрузки пера.Вместо этого, во время загрузки nib-файла, например, с помощью этого вызова:
[[NSBundle mainBundle] loadNibNamed:@"MyNib" owner:ownerObject options:nil];
все выходы, имеющие значение nil в ownerObject (того же типа класса, который указан в Owner файла), которые подключаютсязатем до объектов в кончике устанавливаются так, чтобы они указывали на эти вновь созданные объекты.
Вы можете использовать этот факт для создания автономных и многократно используемых битов иерархий View, которые вы загружаете и используете где хотите:верхние / нижние колонтитулы / пользовательские ячейки для UITableViews, многоразовые «виджеты», которые вы сами создаете / упаковываете и многократно используете в приложении и т. д. Как только вы это поймете, ваши навыки программирования в режиме «Какао» (касание) перейдут на «уровень» и создадутструктурированное, модульное представление объектов становится намного, намного проще и веселее!