Enable Undo CoreData SwiftUI



CoreDataUndoManager有项目要撤消时,有人知道如何让菜单栏中的Undo命令启用吗?

以下是我所做的:

  • 在应用程序初始化时,我正在设置核心数据持久性控制器UndoManager((

    persistenceController.cotainer.viewContext.undoManager=undoManager((

  • 我可以确认CoreData undoManager已设置,因为我可以通过编程调用undo,它可以工作(例如删除后(

  • 但是,菜单栏中的"撤消"命令仍处于禁用状态。

顺便说一句,当我在TextField中写入文本时,菜单栏中的"撤消"命令可以正常工作(它可以自动撤消文本更改(

提前非常感谢,已经尝试了一段时间,在上找不到任何东西

上下文不清楚,但尝试(只是一个想法(从环境中使用Undo Manager,如

// ... somewhere in view where you change core data objects
@Environment(.managedObjectContext) var viewContext
@Environment(.undoManager) var undoManager
// ...
var body: some View {
// ...
.onAppear {
viewContext.undoManager = undoManager
}
}

最新更新