2017-07-15 11 views
0

新しいウィンドウコントローラをインスタンス化するView Controllerがあります。 ウィンドウコントローラのビューコントローラにオブジェクトを渡す必要があります。ここ は、私がこれまで持っているものです。ストーリーボードからインスタンス化されたView Controllerでのキャスト失敗

let storyboard = NSStoryboard(name: "Main", bundle: nil) 
if let windowController = storyboard.instantiateController(withIdentifier: "customerEditWindowController") as? NSWindowController 
{ 
    let viewController = windowController.contentViewController as! EditCustomerViewController 
    viewController.customer = customer // (An object) 
    windowController.window?.makeKeyAndOrderFront(self) 
} 

ウィンドウが期待通りに表示され、その後、Xcodeはエラーでデバッガにトラップされています

Could not cast value of type 'NSViewController' (0x7fffd1dcc4e0) to 'Inventory2.EditCustomerViewController' (0x100011660).

私EditCustomerViewControllerがNSViewControllerを拡張するので、私は混乱しています。

class EditCustomerViewController: NSViewController 

1)なぜNSViewControllerをEditCustomerViewControllerにキャストできないのですか?
2)新しいビューコントローラにデータを取得するより良い方法はありますか?

答えて

1

これは暗いところでの簡単な撮影ですが、Interface BuilderでView Controllerのクラス名を設定しましたか?

+0

うわー!大きな目標。ありがとう! –

関連する問題