Какао: что создает экземпляр класса контроллера, связанный с файлом NIB? - PullRequest
0 голосов
/ 04 февраля 2010

Это вопрос о внутренней работе NIB-файлов Какао и поддерживаемых для них классов инфраструктуры.

Для удобного примера, пожалуйста, взгляните на учебник по калькулятору валют Apple: http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjCTutorial/01Introduction/01Introduction.html

Если вы откроете файл MainMenu.nib, вы увидите объект, представляющий «Контроллер конвертера».

Когда приложение запускается, экземпляр класса ConverterController создается чем-то в приложении (чем-то в NIB или платформой, поддерживающей NIB).

(Не путайте это с другим классом, Converter, чей экземпляр создан кодом из ConverterController.)

Мой вопрос: что создает этот экземпляр ConverterController? Это объект Владельца Файла по умолчанию в NIB? Какой бы объект ни создавал экземпляр, какой код использует этот объект? Где-то в NIB или фреймворке должен быть какой-то метод / функция, говорящая:

ConverterController *someVarName = [[ConverterController alloc] init];

Я хочу увидеть этот код, конкретный код, который в настоящее время используется для создания экземпляра ConverterController.

Я не хочу знать, как создать замену для экземпляра ConverterController или вообще как вручную создавать экземпляры классов, связанных с файлом NIB.

Ответы [ 3 ]

2 голосов
/ 04 февраля 2010

Перо - это архив объектов. Они создаются в Интерфейсном Разработчике, и когда перо загружено, объекты в нем разархивированы и связаны.

1 голос
/ 23 февраля 2010

Взгляните на файл Info.plist.

Один из разделов посвящен имени файла основного пера. Это перо, которое не архивируется при запуске приложения. Обычно это MainMenu.xib.

Поскольку объект контроллера находится в этом главном файле пера, он создается, когда файл пера разархивирован.

1 голос
/ 23 февраля 2010

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

...