Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to pass data from NSWindowController to its NSViewController?

Tags:

macos

swift

cocoa

I have a IBOutlet of a NSToolBar button in my NSWindowController class, which is my main window class:

class MainWindowController: NSWindowController {

    @IBOutlet weak var myButton: NSButton!

    // ...
}

I have a class MainViewController that is that content NSViewController of the main window.

How can I access this button in my content NSViewController? Is there a better way to organize the IBOutlets and the controllers to facilitate this access?

like image 643
Yuri Malheiros Avatar asked Mar 07 '15 16:03

Yuri Malheiros


1 Answers

To access NSViewController from NSWindowController:

let viewController:MainViewController = self.window!.contentViewController as! MainViewController

To access NSWindowController from NSViewController:

let windowController:MainWindowController = self.view.window?.windowController as! MainWindowController
like image 124
Mantas Laurinavičius Avatar answered Oct 08 '22 00:10

Mantas Laurinavičius