2013-02-09 2 views
3

Что я хотел бы знать, каким образом контроллер окна инициализирую сВладелец, кроме контроллера окон, в [NSWindowController initWithWindowNibName: owner]?

NSWindowController *c=[[NSWindowController alloc] initWithWindowNibName:@"Win" owner:myObj] 

знать, какое окно должно контролировать в Win.xib файл, если myObj не сам контроллер? Обычно я устанавливал оконный контроллер в качестве владельца, чтобы я мог установить его окно в IB с выходом. Является ли управление памятью всем оконным контроллером, даже если это не владелец?

ответ

1

Контроллер окна будет управлять памятью объектов верхнего уровня, даже если это не владелец. Из NSWindowControllerclass reference:

Независимо от того, кто является владельцем файла, контроллер окна отвечают за освобождение всех объектов верхнего уровня в бобах файла он нагрузки.

контроллер окна, как правило, владелец СИБ, хотя, и соединив его окна розетки обычно, как он знает, какое окно управления. Можно также использовать метод -setWindow: для его явного указания.

Можно предположить, что NSWindowController ищет объекты верхнего уровня NIB для окна, чтобы контролировать, если розетка не подключена, но я не думаю, что это так.

Вы наблюдали какое-то поведение, которое вы не понимаете? Что это было?

 Смежные вопросы

  • Нет связанных вопросов^_^