AppDelegateでStoryboardからNSWindowControllerを取得してウィンドウを表示するだけでハマった
XCode Version 7.1.1 (7B1005) Swift2.1で試しました。
かなりはまってしまったが、答えはここにあった。表示したいウィンドウのNSWindowControllerをメンバ変数等で拘束しておかないと正しく動作しなかった。 stackoverflow.com
最小コードにすると以下のようにshowWindowするときにインスタンス化されたコントローラーを束縛しておかないといけない。myControllerへの代入コードを除去すると表示されなくなってしまう。
var myController:NSWindowController? = nil func applicationDidFinishLaunching(aNotification: NSNotification) { let controller = mainStoryboard.instantiateInitialController() as? NSWindowController myController = controller myController?.showWindow(nil) }