如何打开第二个 NSWindow?
How to open second NSWindow?
我试图在单击 NSTableViewCell 时打开第二个 NSWindow。到目前为止,这是我的代码:
func tableView(_ tableView: NSTableView, shouldSelectRow row: Int) -> Bool {
IndiFlightWC.loadWindow()
IndiFlightWC.showWindow(nil)
IndiFlightWC.setMap(indiFlight: FlightList[row]!)
return true
}
IndiFlightWC 初始化如下:
var IndiFlightWC = IndiFlightWindowController()
我在我的 IndiFlightWindowController 的 windowDidLoad 中放置了一个断点,但它从未到达它。所以我的问题是如何正确显示新的 window?
谢谢!
您的初始化方法几乎可以肯定是不正确的。
如果您查看 documentation for NSWindowController,您会看到其中列出了四种不同的初始化方法。它们都带有参数。
你的IndiFlightWindowController
xib 是否包含在你的项目中?为什么不尝试 let indiFlightWC = IndiFlightWindowController(windowNibName: "IndiFlightWindowController")
看看会发生什么。
其他一些提示:
1) 变量名应以小写字母开头。使用 indiFlightWC
而不是 IndiFlightWC
作为变量名。上限应为 [=31=].
2) loadWindow
isn't needed 因为 showWindow
应该自动调用 loadWindow
。
我试图在单击 NSTableViewCell 时打开第二个 NSWindow。到目前为止,这是我的代码:
func tableView(_ tableView: NSTableView, shouldSelectRow row: Int) -> Bool {
IndiFlightWC.loadWindow()
IndiFlightWC.showWindow(nil)
IndiFlightWC.setMap(indiFlight: FlightList[row]!)
return true
}
IndiFlightWC 初始化如下:
var IndiFlightWC = IndiFlightWindowController()
我在我的 IndiFlightWindowController 的 windowDidLoad 中放置了一个断点,但它从未到达它。所以我的问题是如何正确显示新的 window?
谢谢!
您的初始化方法几乎可以肯定是不正确的。
如果您查看 documentation for NSWindowController,您会看到其中列出了四种不同的初始化方法。它们都带有参数。
你的IndiFlightWindowController
xib 是否包含在你的项目中?为什么不尝试 let indiFlightWC = IndiFlightWindowController(windowNibName: "IndiFlightWindowController")
看看会发生什么。
其他一些提示:
1) 变量名应以小写字母开头。使用 indiFlightWC
而不是 IndiFlightWC
作为变量名。上限应为 [=31=].
2) loadWindow
isn't needed 因为 showWindow
应该自动调用 loadWindow
。