基于文档的应用程序,如何从菜单中访问文档?

Mar*_*usM 4 swift swiftui

我正在 Xcode 12 中使用新的 MultiPlatform SwiftUI 文档模板,但我不明白如何从菜单项中访问当前的 FileDocument。

我的应用程序代码如下所示(直接来自模板)。

@main
struct MyApp: App {
    var body: some Scene {
        DocumentGroup(newDocument: MyDocument()) { file in
            ContentView(document: file.$document)
        }
        .commands {
            CommandMenu("Utilities") {
                Button(action: {
                    // How to get access to the current FileDocument ?
                }) {
                    Text("Test")
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Gar*_*man 5

您可以创建一个FocusedValueKey,从内容视图发布到文档的绑定,然后使用 来在菜单中观察它@FocusedBinding这里有一个很好的解释。