В swift (4.2) я не могу повторить, а затем отменить после первоначальной отмены.Селектор в UndoManager.registerUndo (...) никогда не вызывается во время повтора и последующей отмены
Я пробовал это как в проектах, так и на игровых площадках с бесконечными вариациями.
import Cocoa
class UndoResponder: NSObject {
@objc func printSender(_ sender: Any) {
print("printSender: ", sender)
}
}
var undoResponder = UndoResponder()
var undoManager = UndoManager()
undoManager.registerUndo(withTarget: undoResponder, selector:
#selector(UndoResponder.printSender(_:)), object: "Hi!")
print("about to undo")
undoManager.undo()
print("about to redo")
undoManager.redo()
print("about to undo")
undoManager.undo()
// output:
// about to undo
// printSender: Hi!
// about to redo
// about to undo
Ожидаетсявывод:
// about to undo
// printSender: Hi!
// about to redo
// printSender: Hi!
// about to undo
// printSender: Hi!