iOSの[iOS] 画面遷移(値を渡す)と基本的に同じだ。Cocoa Touch Classで新規にファイルを作る代わりにCocoa Classで作るのとUIViewControllerのところをNSViewControllerと読み替えて同じようにする。

ViewController2.swiftはこんな感じだ。

import Cocoa

class ViewController2: NSViewController {
    @IBOutlet weak var label: NSTextField!
    
    var message = ""

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do view setup here.
        label.stringValue = message
    }
    
}

ViewControllerクラスに追加するコードはこんな感じだ。

    override func prepare(for segue: NSStoryboardSegue, sender: Any?) {
        let viewController2 = segue.destinationController as! ViewController2
        viewController2.message = "PAGE2"
    }