В вашей раскадровке выберите свой второй контроллер окон. В инспекторе идентичности, укажите имя этого окна контроллера, например secondWindowController
Затем в делегат своего приложения, установите свойство для контроллера окна:
@property NSWindowController *myController;
В вашем applicationDidFinishLaunching: реализация методы, создать ссылка на раскадровку. Таким образом вы получаете доступ к вашему оконному контроллеру из раскадровки. После этого осталось только отобразить окно, отправив вашему оконному контроллеру метод showWindow :.
#import "AppDelegate.h"
@interface AppDelegate()
@end
@implementation AppDelegate
@synthesize myController;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
NSStoryboard *storyBoard = [NSStoryboard storyboardWithName:@"Main" bundle:nil]; // get a reference to the storyboard
myController = [storyBoard instantiateControllerWithIdentifier:@"secondWindowController"]; // instantiate your window controller
[myController showWindow:self]; // show the window
}
@end
Спасибо! Мне также пришлось установить «Искатель раскадровки» на «Main», и он сработал. – Hakan
'' '[storyBoard instantiateInitialController]' '' можно использовать для обхода проблемы с идентификатором (пока вы установите нужное окно в качестве начального контроллера представления в файле раскадровки). – Supertecnoboff