Wie binden Sie eine Storyboard-Ansicht an eine Core Data-Entität, wenn Sie NSDocument verwenden?
Ich erstelle eine OS X-App, die Kerndaten, NSDocument, Storyboards und Cocoa-Bindungen verwendet.
Meine Erwartung ist, dass Folgendes eintritt:
Eine Instanz vonMyDocument
(NSDocument
Unterklasse) wird erstellt.
MyDocument
erstellt ein Core DataNSManagedObjectContext
, das die Daten des Dokuments darstellt.
MyDocument
instanziiert einNSWindowController
aus dem Storyboard nach seiner Kennung.
Im Storyboard enthält der Fenster-ControllerDocumentEditorViewController
(NSViewController
Unterklasse), die das Dokument anzeigt und bearbeitet.
Innerhalb des Storyboards,DocumentEditorViewController
hat einNSArrayController
das ist gebunden anMyDocument
's verwalteter Objektkontext.
Innerhalb des Storyboards,DocumentEditorViewController
hat eine Tabellenansicht, die an das @ gebunden iNSArrayController
.
Auf diese Weise gelangen alle Änderungen in der Benutzeroberfläche bis zumNSManagedObjectContext
, ohne Klebecode.
Ich erwarte, dass dies unkompliziert ist, da ich glaube, dass ich diese Technologien in der beabsichtigten Weise verwende. Ich konnte die Bindungen jedoch nicht zum Laufen bringen, insbesondere in den Schritten 5 und 6. Alle Projektvorlagen und Beispielprojekte, die ich gefunden habe, verwenden entweder keine Kerndaten, keine Storyboards oder keine NSDocuments.
Welche Objekte sollen an welche gebunden werden? Wie sollten die Klasse, die Schlüssel und der Schlüsselpfad von NSArrayController sein?
Eine andere Möglichkeit, diese Frage zu beantworten, besteht darin, auf ein funktionierendes Beispielprojekt hinzuweisen, das alle diese Technologien zusammen verwendet.