2016-11-17 5 views
2

Ich muss das aktive Dokument einer NSDocument-basierten App programmgesteuert aus einer Methode des NSViewController, die die Dokumentansicht steuert, speichern. Menüeinträge tun dies, indem Sie save() an den Ersthelfer senden. Was ist der beste Weg dies programmatisch zu tun? Soll ich A) einen Verweis auf das NSDocument bekommen (irgendwie) und dann die Speichermethode aufrufen oder B) eine Save-Nachricht an den First Responder schicken?Wie programmiere ich programmgesteuert ein NSDocument?

+0

Es hängt davon ab, warum und von wo Sie speichern möchten. – Willeke

+0

Von einem NSViewController - Ich habe die Frage mit weiteren Details aktualisiert. –

+0

Versuchen Sie nur, eine automatische Speicherung auszulösen, oder möchten Sie eine neue Version erstellen (Sie wissen, ausgelöst, wenn der _user_ den Befehl Speichern verwendet)? – Bob

Antwort

2

Ich würde sagen (B) ist am einfachsten zu tun. (Wie Ihre View-Controller) Alles, was Sie tun müssen, ist von jedem NSResponder in der Kette diese Zeile nennen:

NSApp.sendAction(#selector(NSDocument.save(_:)), to: nil, from: self) 

Dies wird genau die gleiche Wirkung wie „Speichern“ in der Menüleiste wählen.

Verwandte Themen