gpt4 book ai didi

swift - 从标准 Swift 基于文档的应用程序的打开对话框中获取 URL

转载 作者:行者123 更新时间:2023-12-02 01:44:54 29 4
gpt4 key购买 nike

我正在尝试提取用户在我基于文档的 macOS 应用程序的默认“打开”对话框中选择的文档的 URL。我知道,一个 fileWrapper 被传递给了 init 方法,但是有没有办法从所述包装器中提取路径/URL?

谢谢,

拉斯

最佳答案

DocumentGroup 只需要一个到文档的绑定(bind)来初始化 ContentView,所以在文档上有一个函数获取 url 并返回绑定(bind):

应用:

import SwiftUI

@main
struct FileOpenApp: App {
var body: some Scene {
DocumentGroup(newDocument: FileOpenDocument()) { file in
ContentView(document: file.document.setSourceURL(file))
}
}
}

文档:

struct FileOpenDocument: FileDocument {
var sourceURL: URL?

init() {
}

// needs to be mutating to avoid "self is immutable" error
mutating func setSourceURL(_ config: FileDocumentConfiguration< FileOpenDocument >) -> Binding<FileOpenDocument> {
sourceURL = config.fileURL
return config.$document
}
}

关于swift - 从标准 Swift 基于文档的应用程序的打开对话框中获取 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71037766/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com