我正在尝试从故事板到我的NSHostingView子类IBsegue。这是为Mac应用程序链接情节提要和SwiftUI的正确方法吗?(否则,正确的方法是什么?)如果这样,子类文件中会出现四个错误:
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 {
方法不会覆盖其超类override func draw(_ dirtyRect: NSRect) {
中的任何方法
根类super.draw(dirtyRect)
中不能引用'super'成员
使用未解决的标识符'NSHostingController'return NSHostingController(coder: coder, rootView: ContentView())
答案 0 :(得分:0)
您需要导入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())
}
}