2016-04-04 1 views
0

AppDelegateを介して2つの異なるフローの1つをトリガーしようとしていますが、苦労しているようです。Cocoa:App Delegateからの入力に応じて異なるView Controllerをロードします。

は画像として下記を参照:

Storyboard with 2 views 1はメインNSWindowのコントローラに接続することができた場合にのみ、私はそれぞれにこれらの二つの異なるビューコントローラをインスタンス化するにはどうすればよいですか?

次のコードを使用して「addChildWindow」を使用してトリガーされるようになったが、後続のビューコントローラーに切り替えることができなかった。ここで

は、私はビューコントローラをインスタンス化するために使用していたコードです:

if let pboardString = pboard.stringForType(NSStringPboardType){ 
      print(pboardString) 
      let storyboard = NSStoryboard(name: "Main", bundle: nil) 
      let destcontroller = storyboard.instantiateControllerWithIdentifier("pickProject") as! WizardTextFromPasteboardVC 
      destcontroller.weburlFromPaste = pboardString 

      let numWindows = NSApplication.sharedApplication().windows 
      if let window = NSApplication.sharedApplication().mainWindow { 
       if numWindows.count >= 1{ 
        let childWindow = NSWindow(contentViewController: destcontroller) 
        window.addChildWindow(childWindow, ordered: .Above) 
       } 
       else if numWindows.count == 0 { 
        window.contentViewController = destcontroller 
       } 
+0

は、なぜあなたは、それぞれのビューコントローラに接続されているそれぞれのメインウィンドウ上に2つのボタンを作成しませんか? –

答えて

0

それは、ウィンドウのコンテンツを提供するデフォルトのセグエを維持する必要はありません。それを削除し、idでインスタンス化できる2つのView Controllerを提供すると、アプリケーションの代理人は、起動がいつ終了するかを決定できます。など

let selection: Int = 2 

func applicationDidFinishLaunching(aNotification: NSNotification) { 
    let storyboard = NSStoryboard(name: "Main", bundle: nil) 
    var controller: NSViewController 
    if selection == 1 { 
     controller = storyboard.instantiateControllerWithIdentifier("view_controller") as! NSViewController 
    } else { 
     controller = storyboard.instantiateControllerWithIdentifier("view_controller_2") as! NSViewController 
    } 
    let window = NSApp.windows[0] 
    window.contentViewController = controller 
} 
+0

Phillip Mills - これに感謝します - しかし、私がこのようにした場合、後でコントローラからコントローラを呼び出す方法は? –

+0

私が知る限り、他の状況と同じです。私はちょうど私の第2コントローラーのボタンから第3コントローラーをシートとして表示するために、ストーリーボードのセグを接続し、うまくいきました。 –

+0

うーん、 - そのバグが...掘り下げて見えるのだろうか? –

関連する問題