Ich habe einen NSTabViewController mit einem NSTextView in einem Tab. Der Text wird in den Stammdaten gespeichert. Ich speichere den Text, wenn die Ansicht verschwindet.NSTextView von Kerndaten unterstützt
override func viewWillDisappear()
{
super.viewWillDisappear()
self.saveText()
}
Aber wie kann ich den Text speichern, wenn das Dokument selbst schließt? Im Moment spare ich bei jedem Tastendruck, aber das ist wohl zu übertrieben. Gibt es einen besseren Weg?
func textDidChange(notification: NSNotification)
{
self.saveText() //save text after every keystroke => excessive but works
}
edit:
func saveText()
{
guard let assumedObject = self.representedObject as? NSManagedObject else { return }
assumedObject.notes = self.textView.string
}
Wird 'viewWillDisappear' nicht aufgerufen, wenn das Fenster geschlossen wird? – Willeke
Was ist, wenn der Benutzer das Dokument speichern, aber nicht schließen möchte? Dann sind weder das Dokument noch die Ansicht geschlossen, aber die Inhalte in den Kerndaten sind nicht aktuell. – user965972
Wie speichern Sie die anderen Eigenschaften? – Willeke