创建符合 的类时ReferenceFileDocument,如何指示文档需要保存。即相当于 的NSDocument方法updateChangeCount?
我遇到了同样的问题,SwiftUIReferenceFileDocument无法触发更新。最近,我通过错误报告收到了反馈,并建议我注册撤消。
事实证明,可以通过注册撤消操作来触发的更新ReferenceFileDocument,就像 一样。UIDocument不同之处在于DocumentGroup 明确地 UndoManager通过环境隐式设置。
例如,
@main
struct RefDocApp: App {
var body: some Scene {
DocumentGroup(newDocument: {
RefDocDocument()
}) { file in
ContentView(document: file.document)
}
}
}
struct ContentView: View {
@Environment(\.undoManager) var undoManager
@ObservedObject var document: RefDocDocument
var body: some View {
TextEditor(text: Binding(get: {
document.text
}, set: {
document.text = $0
undoManager?.registerUndo(withTarget: document, handler: {
print($0, "undo")
})
}))
}
}
Run Code Online (Sandbox Code Playgroud)
我假设在这个阶段,在 iOS 端,实际上是场景FileDocument之上的包装器UIDocumentDocumentGroup明确地 隐式地将 undoManager 分配给环境。因此,更新机制是相同的。
| 归档时间: |
|
| 查看次数: |
1719 次 |
| 最近记录: |