【发布时间】:2014-07-04 15:09:15
【问题描述】:
我想从一个 nib 文件初始化一个窗口控制器对象,很简单吧?但我根本无法让它工作。
根据我之前在ObjC的经验,我写了如下代码:
init() {
super.init(windowNibName: "SplitWindowController")
}
在应用程序委托文件中,我只是简单地初始化并显示窗口:
var myWindowController: MyWindowController = MyWindowController()
myWindowController.showWindow(self)
myWindowController.window.makeKeyAndOrderFront(nil)
但是编译器给了我这个错误:Must call a designated initializer of the superclass 'NSWindowController'。而根据NSWindowController的Swift版本定义,只有3个指定初始化器,分别是init()、init(window)、init(coder)。我不知道下一步该做什么。我应该从一个 nib 文件构建一个NSCoder,我不知道该怎么做吗?
【问题讨论】:
-
@George 在这里回答你的问题:[Subclassing NSWindowController][1] [1]:stackoverflow.com/questions/24220638/…