NSWindow-Status speichern und wiederherstellen: FirstRepsonder kann nicht wiederhergestellt werden

9

Ich arbeite daran, encodeRestorableState / restoreStateWithCoder zu verwenden, um den Status eines Fensters zu speichern und wiederherzustellen. (Ich mache das manuell, weil ich explizit meinen Fensterstatus im Dokument speichern möchte und nicht nur darauf angewiesen bin, dass das Betriebssystem seinen Status im Rahmen der Wiederherstellung des Anwendungsstatus wiederherstellt)

Das Problem, das ich habe, ist, dass bei der Wiederherstellung ein Fehler in der Konsole protokolliert wird, der den First Responder nicht wiederherstellen kann, da das Fenster der Ansicht auf nil gesetzt ist.

Ich habe versucht, makeFirstResponder(nil) vor der Kodierung aufzurufen, aber dann ist das Fenster ein eigener erster Responder und es wird eine Ausnahme ausgelöst, weil sie sich nicht selbst verschlüsseln kann.

Ich mache das von meinem Fenstercontroller windowDidLoad . Doing in awakeFromNib hat keinen Unterschied gemacht.

Gibt es also eine Möglichkeit, das Fenster entweder daran zu hindern, den ersten Responder zu speichern / wiederherzustellen oder sicherzustellen, dass die First-Responder-Ansicht zuerst im Fenster installiert wird?

    
Uncommon 06.02.2017, 15:21
quelle

0 Antworten

Tags und Links