【发布时间】:2014-08-04 22:01:02
【问题描述】:
我正在尝试在 Swift 中启动一个新的基于文档的 Cocoa 项目,并希望创建一个 NSWindowController 的子类(如 Apple 的基于文档的应用程序指南中所推荐的那样)。在 ObjC 中,您将创建一个 NSWindowController 子类的实例,发送 initWithWindowNibName: 消息,相应地实现该消息,调用超类方法。
在 Swift 中,init(windowNibName) 只能作为便利的初始化器,NSWindowController 的指定初始化器是 init(window),这显然是想让我传入一个窗口。
我不能从我的子类中调用super.init(windowNibName),因为它不是指定的初始化器,所以我显然必须实现convenience init(windowNibName),而这又需要调用self.init(window)。但是,如果我只有我的 nib 文件,我如何访问 nib 文件的窗口以发送到该初始化程序?
【问题讨论】:
标签: cocoa swift initializer nswindowcontroller