Как правило, вы должны иметь контроллер для каждого NIB. Так что в случае Window NIB у вас будет подкласс NSWindowController в качестве владельца файла. Аналогично для View NIB у вас будет подкласс NSViewController в качестве владельца файла. В случае, если вы представляете подкласс NSWindowController, создается экземпляр подкласса NSViewController (передавая ему соответствующий View NIB), а затем присоединяется свойство представления NSViewController к иерархии представления окна.
Например, в методе awakFromNib вашего оконного контроллера вы бы получили следующее:
- (void) awakeFromNib {
_viewController = [[MyViewController alloc] initWithNibName: @"MyView" bundle: nil];
[[[self window] contentView] addSubview: [_viewController view]];
}
Вы также можете поместить этот код в метод windowDidLoad
вашего подкласса NSWindowController
.