关闭NSWindow表后的IBOutlet零 - swift

时间:2015-06-09 18:18:48

标签: ios objective-c swift delegates iboutlet

我有一个连接到.xib的NSWindowController类,我在我的主ViewController中使用以下方法作为工作表呈现:

func openSheet() {
    var modalSheet = NSWindowController()
    modalSheet = modalWindow(windowNibName: "modalWindow") as modalWindow
    self.view.window!.beginSheet(modalSheet.window!, completionHandler: nil)
    modalSheet.window!.delegate = self
}

modalWindowNSWindowController工作表类的名称。

在我的modalWindow类中,我有以下方法:

@IBAction func cancel(sender: AnyObject) {
    var delegate: NSWindowDelegate? = ViewController() as NSWindowDelegate
    var nsn = NSNotification(name: "", object: nil)
    println("Closing Modal Window. Saved data: \(data)")
    self.window!.close()
    delegate!.windowWillClose!(nsn!)
}

现在,当我在主ViewController中调用协议方法时:

@IBOutlet var path1: NSTextField!

func windowWillBeginSheet(notification: NSNotification) {
    path1.stringValue = "abc"
}

path1显示为零。 任何有关解决path1出现为零的问题的帮助或指导都将非常感激。

0 个答案:

没有答案