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

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


person Stanley    schedule 22.03.2011    source источник
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
comment
Без проблем. Я рад, что смог помочь. - person Jon Hess; 23.03.2011