如何在 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())
}
}
我正在尝试从故事板 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())
}
}