什么时候在基于文档的模板项目中默认实例化NSDocumentController实例?

时间:2016-11-25 18:19:26

标签: swift xcode document-based nsdocumentcontroller

我使用swift 3.0.1在maxOS 10.11.6上的Xocode 8.0中创建了一个基于Document的Cocoa项目。我删除了mainMenu.xib,document.xib,修改了infolist,然后添加了我自己的main函数。但是我根本不使用Interface Builder。

在Document.swift中,我删除了windowNibFille变量,并覆盖makeWindowController()函数跟随:

override func makeWindowControllers() {
    let mainWindow = NSWindow(contentRect: NSMakeRect(0, 0, NSScreen.main()!.frame.width/2, NSScreen.main()!.frame.height/2), styleMask: [NSTitledWindowMask, NSResizableWindowMask, NSMiniaturizableWindowMask, NSClosableWindowMask], backing: NSBackingStoreType.buffered, defer: false)
    mainWindow.isOpaque = false
    mainWindow.center()
    mainWindow.isMovableByWindowBackground = true
    mainWindow.makeKeyAndOrderFront(nil)
    let mainWindowController = NSWindowController(window: mainWindow)
    addWindowController(mainWindowController)
}

我没有做任何其他事情。如果我构建项目,我不应该得到运行已编译应用程序的菜单,窗口,文档,因为我没有实例化任何NSDocumentController实例,也没有实例化NSDocuement和NSWindow实例。

但他的实际情况是我运行了该项目,显示了一个名为untitled的窗口。这很烦人,似乎有些不可靠的代码存在于一个几乎空的项目中。我想在打开无标题文档之前做一些事情,如果从我的控件中创建了一个NSDocumentController实例,我应该怎么做呢?

0 个答案:

没有答案