Swiftui 如何在NSOpenPanel beginSheet方法中引用窗口
我在我的macOS广告SwiftUI项目中有以下代码,它运行良好Swiftui 如何在NSOpenPanel beginSheet方法中引用窗口,swiftui,nsopenpanel,Swiftui,Nsopenpanel,我在我的macOS广告SwiftUI项目中有以下代码,它运行良好 var myDataset = [Dataset]() @State private var isError = false var body: some View { Button("Load data...", action: { let panel = NSOpenPanel() panel.title = "Select CSV formatted
var myDataset = [Dataset]()
@State private var isError = false
var body: some View {
Button("Load data...", action: {
let panel = NSOpenPanel()
panel.title = "Select CSV formatted data file"
panel.canChooseFiles = true
panel.allowedFileTypes = ["csv"]
panel.allowsMultipleSelection = false
panel.begin(completionHandler: {result in
if result == .OK {
getDataset(fromFileURL: panel.url!)
}
})
})
.alert(isPresented: $isError, content: {
Alert(title: Text("Error"), message: Text(errorText), dismissButton: .default(Text("OK")))
})
}
我想知道我怎样才能替换它
panel.begin(completionHandler: {result in
if result == .OK {
getDataset(fromFileURL: panel.url!)
}
})
与
我应该放置什么作为sheetWindow参数?
谢谢。这应该会有帮助。
panel.beginSheet(sheetWindow: NSWindow, completionHandler: (NSApplication.ModalResponse) -> Void)?)