从情节提要中实例化的视图控制器的转换失败

Casting failure with a view controller instantiated from a storyboard

我有一个实例化新 window 控制器的视图控制器。 我需要将对象传递给 window 控制器的视图控制器。 这是我目前所拥有的:

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)
}

window 按预期显示,然后 Xcode 陷入调试器并出现错误:

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

我很困惑,因为我的 EditCustomerViewController 扩展了 NSViewController。

class EditCustomerViewController: NSViewController

1) 为什么不能将 NSViewController 转换为 EditCustomerViewController?
2) 是否有更好的方法将数据导入新的视图控制器?

这是在黑暗中拍摄的简单照片,但您是否在 Interface Builder 中设置了视图控制器的 class 名称?