Я работаю над учебным упражнением по Cocoa, в котором файл пера, содержащий объект NSPanel, должен быть загружен с помощью метода [NSBundle loadNibName: owner:]. Файл пера загружен нормально, и отображается объект NSPanel. Но мне нужно получить значение указателя объекта NSPanel, чтобы я мог назначить его переменной указателя. Жаль, что кто-то более знающий, чем я, может дать мне несколько советов о том, как это сделать...
Вопрос
Как получить указатель на объект NSPanel в файле Nib, когда файл Nib загружается [NSBundle loadNibName: owner:]?
- Ошибка ввода: loadNibName должно быть loadNibNamed. Stanley 23.03.2011
Ответы
Ответ 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.
Похожие материалы
- Сортировка объектов в NSMutableArray с помощью sortUsingComparator
- Как мне дополнительно анимировать изображение, которое находится на пути Безье
- Как перейти к определенному viewController из любого текущего viewController?
- Как заполнить NSPopUpButton любимыми папками пользователя
- Основные данные с хранением в памяти
- Очистка альфа-канала NSImage