Hallo!
Ich habe ein NSTableView, das an einen Array-Controller gebunden ist. Klickt der Benutzer auf einen Eintrag im NSTableView, soll, abhängig von Attributen des Entitys, aus vielen unterschiedlichen Views einer für die Eingabe gezeigt werden. Weil da eine ganze Menge umfangreicher Views mit Controllern zusammen kommen, muss ich das ganze in Nibs aufteilen:
- Nib1: View "Liste" mit NSTableView mit NSArrayController
- Nib2: View "Eingabe A" mit Feldern zum Eingeben, mit NSObjectController1
- Nib3: View "Eingabe B" mit Feldern zum Eingeben, mit NSObjectController2
- Nib4: View "Eingabe C",...usw.
Vorteil: Ich kann alle Bindings im IB einrichten.
Natürlich muß ich den NSObjectController zur Laufzeit an den NSArrayController via ContentObject -> bindto:NSArrayController ->Controller Key: selection binden.
Nur: Model Key Path gibt's hier ja keinen. Das Problem ist aber: ohne Model Key Path zeigt der NSObjectController nur "No Selection".
Ich habe einen Trick ausprobiert der funktioniert: Model Key Path = selber. "Selber" gibt im Model einfach self zurück.
Ich frage mich nur: kann das sein, dass das "standardmäßig" nicht geht? Der "Model Key Path" ist lt. Anzeige im IB <optional>, das heißt doch, es müßte doch auch ohne gehen (?).
Beispielanwendung ist anbei, mit und ohne Core Data...
... bzw. 49KB ist arg klein, deshalb hier die Datei:
Beispiel
No.
Ich habe ein NSTableView, das an einen Array-Controller gebunden ist. Klickt der Benutzer auf einen Eintrag im NSTableView, soll, abhängig von Attributen des Entitys, aus vielen unterschiedlichen Views einer für die Eingabe gezeigt werden. Weil da eine ganze Menge umfangreicher Views mit Controllern zusammen kommen, muss ich das ganze in Nibs aufteilen:
- Nib1: View "Liste" mit NSTableView mit NSArrayController
- Nib2: View "Eingabe A" mit Feldern zum Eingeben, mit NSObjectController1
- Nib3: View "Eingabe B" mit Feldern zum Eingeben, mit NSObjectController2
- Nib4: View "Eingabe C",...usw.
Vorteil: Ich kann alle Bindings im IB einrichten.
Natürlich muß ich den NSObjectController zur Laufzeit an den NSArrayController via ContentObject -> bindto:NSArrayController ->Controller Key: selection binden.
Nur: Model Key Path gibt's hier ja keinen. Das Problem ist aber: ohne Model Key Path zeigt der NSObjectController nur "No Selection".
Ich habe einen Trick ausprobiert der funktioniert: Model Key Path = selber. "Selber" gibt im Model einfach self zurück.
Ich frage mich nur: kann das sein, dass das "standardmäßig" nicht geht? Der "Model Key Path" ist lt. Anzeige im IB <optional>, das heißt doch, es müßte doch auch ohne gehen (?).
Beispielanwendung ist anbei, mit und ohne Core Data...
... bzw. 49KB ist arg klein, deshalb hier die Datei:
Beispiel
No.