我有一个连接到.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
}
modalWindow
是NSWindowController
工作表类的名称。
在我的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
出现为零的问题的帮助或指导都将非常感激。