Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как получить указатель на объект NSPanel в файле Nib, когда файл Nib загружается [NSBundle loadNibName: owner:]?

Автор вопроса: StanleyОтветов: 1

Я работаю над учебным упражнением по Cocoa, в котором файл пера, содержащий объект NSPanel, должен быть загружен с помощью метода [NSBundle loadNibName: owner:]. Файл пера загружен нормально, и отображается объект NSPanel. Но мне нужно получить значение указателя объекта NSPanel, чтобы я мог назначить его переменной указателя. Жаль, что кто-то более знающий, чем я, может дать мне несколько советов о том, как это сделать...

  • Ошибка ввода: loadNibName должно быть loadNibNamed. Stanley 23.03.2011

objective-ccocoainterface-builder

Ответы

Ответ 1 · рейтинг 2 · Jon Hess

Это именно то, для чего предназначены IBOutlets. В своем классе добавьте переменную экземпляра "IBOutlet NSPanel *panel;" В редакторе Interface Builder установите владельца файла для вашего документа Interface Builder, чтобы он имел пользовательский класс, соответствующий вашему классу, а затем подключите выход "panel" владельца файла к вашей панели.

Когда вы вызываете -[NSBundle loadNibName:owner:], передайте свой объект в качестве владельца.

Многим разработчикам трудно понять владельца файла. Это объект-заполнитель для объекта, который будет выполнять загрузку NIB. Действия, выходы и привязки, связанные с ним, будут разрешаться для объекта, переданного через владельца: параметр -[NSBundle loadNibName:owner:].

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы