如何在 Mac 应用程序中 link 故事板和 swift?

How do I link storyboard and swift in a Mac application?

我正在尝试从故事板 IBsegue 到我的 NSHostingView 子class。对于 Mac 应用程序,这是 link 故事板和 SwiftUI 的正确方法吗?(如果不是,正确的方法是什么?)如果是这样,我在 subclass 文件中得到四个错误:

import Cocoa

class hosty: NSHostingView {

    override func draw(_ dirtyRect: NSRect) {
        super.draw(dirtyRect)

        // Drawing code here.
    }

    @IBSegueAction func termo(_ coder: NSCoder) -> NSViewController? {
        return NSHostingController(coder: coder, rootView: ContentView())
    }
}

使用未声明的类型 'NSHostingView' class hosty: NSHostingView {
方法不会覆盖其 superclass override func draw(_ dirtyRect: NSRect) {
中的任何方法 'super' 成员不能在根中引用 class super.draw(dirtyRect)
使用未解析的标识符 'NSHostingController' return NSHostingController(coder: coder, rootView: ContentView())

您需要导入 SwiftUI 并为 NSHostingView 指定泛型类型,如下所示

import Cocoa
import SwiftUI

class hosty: NSHostingView<ContentView> {

    override func draw(_ dirtyRect: NSRect) {
        super.draw(dirtyRect)

        // Drawing code here.
    }

    @IBSegueAction func termo(_ coder: NSCoder) -> NSViewController? {
        return NSHostingController(coder: coder, rootView: ContentView())
    }
}