Я работаю над учебным упражнением по Cocoa, в котором файл пера, содержащий объект NSPanel, должен быть загружен с помощью метода [NSBundle loadNibName: owner:]. Файл пера загружен нормально, и отображается объект NSPanel. Но мне нужно получить значение указателя объекта NSPanel, чтобы я мог назначить его переменной указателя. Жаль, что кто-то более знающий, чем я, может дать мне несколько советов о том, как это сделать...
Как получить указатель на объект NSPanel в файле Nib, когда файл Nib загружается [NSBundle loadNibName: owner:]?
comment
Ошибка ввода: loadNibName должно быть loadNibNamed.
- person Stanley   schedule 23.03.2011
Ответы (1)
Это именно то, для чего предназначены IBOutlets. В своем классе добавьте переменную экземпляра "IBOutlet NSPanel *panel;" В редакторе Interface Builder установите владельца файла для вашего документа Interface Builder, чтобы он имел пользовательский класс, соответствующий вашему классу, а затем подключите выход "panel" владельца файла к вашей панели.
Когда вы вызываете -[NSBundle loadNibName:owner:], передайте свой объект в качестве владельца.
Многим разработчикам трудно понять владельца файла. Это объект-заполнитель для объекта, который будет выполнять загрузку NIB. Действия, выходы и привязки, связанные с ним, будут разрешаться для объекта, переданного через владельца: параметр -[NSBundle loadNibName:owner:].
person
Jon Hess
schedule
23.03.2011
Без проблем. Я рад, что смог помочь.
- person Jon Hess; 23.03.2011