Hallo,
in der CoreData Dokumentation von Apple findet sich leider recht wenig zum Thema "abstrakte Entitäten" bzw. über das "Ableiten" einer Entität von einer "Elternentität". Zu der nun folgenden Frage wurde ich leider in der Dokumentation nicht fündig.
Vorhanden: Eine Entität - Person - von der zwei Entitäten - Programmierer und Arbeiter - ableiten. In einer Nib sind drei ArrayController (für jede Entität einen), die entsprechend konfiguriert sind.
Ein TableView ist wie folgt gebunden:
content = Personen (ArrayController) (also an den Controller, der alle Personen verwaltet - Arbeiter und Programmierer)
Eine Spalte des TableViews ist an das gemeinsame Attribut (das Attribut ist in der Personenentität definiert) "Vorname" (Typ: String) gebunden.
Zusätzlich noch zwei Buttons.
Siehe Screenshot.
Der "Neuer Programmierer"-Button ist mit der add: Methode des Programmierer ArrayControllers verbunden - der "Neuer Arbeiter"-Button mit der add: Methode des Arbeiter ArrayControllers.
Select Inserted Objects aller ArrayController ist angehakt.
Neu hinzugefügte Programmierer/Arbeiter werden zwar unmittelbar in der TableView angezeigt (falls sie über die addMethode des entsprechenden ArrayControllers hinzugefügt werden) - allerdings werden sie nicht selektiert.
Bug? Feature? Ich kanns mir nicht erklären. Der Personen ArrayController observiert im Falle von CoreData die Objekte "seiner" Entität. Da gehören abgeleitete Entitäten wohl nicht dazu.
Mit insertObject:atArrangedObjectIndex: wird wie gewohnt selektiert.
in der CoreData Dokumentation von Apple findet sich leider recht wenig zum Thema "abstrakte Entitäten" bzw. über das "Ableiten" einer Entität von einer "Elternentität". Zu der nun folgenden Frage wurde ich leider in der Dokumentation nicht fündig.
Vorhanden: Eine Entität - Person - von der zwei Entitäten - Programmierer und Arbeiter - ableiten. In einer Nib sind drei ArrayController (für jede Entität einen), die entsprechend konfiguriert sind.
Ein TableView ist wie folgt gebunden:
content = Personen (ArrayController) (also an den Controller, der alle Personen verwaltet - Arbeiter und Programmierer)
Eine Spalte des TableViews ist an das gemeinsame Attribut (das Attribut ist in der Personenentität definiert) "Vorname" (Typ: String) gebunden.
Zusätzlich noch zwei Buttons.
Siehe Screenshot.
Der "Neuer Programmierer"-Button ist mit der add: Methode des Programmierer ArrayControllers verbunden - der "Neuer Arbeiter"-Button mit der add: Methode des Arbeiter ArrayControllers.
Select Inserted Objects aller ArrayController ist angehakt.
Neu hinzugefügte Programmierer/Arbeiter werden zwar unmittelbar in der TableView angezeigt (falls sie über die addMethode des entsprechenden ArrayControllers hinzugefügt werden) - allerdings werden sie nicht selektiert.
Bug? Feature? Ich kanns mir nicht erklären. Der Personen ArrayController observiert im Falle von CoreData die Objekte "seiner" Entität. Da gehören abgeleitete Entitäten wohl nicht dazu.
Mit insertObject:atArrangedObjectIndex: wird wie gewohnt selektiert.
Die Objective-Cloud ist fertig wenn sie fertig ist. Beta heißt Beta.
Objective-C und Cocoa Band 2: Fortgeschrittene
Cocoa/Objective-C Seminare von [co coa:ding].
Objective-C und Cocoa Band 2: Fortgeschrittene
Cocoa/Objective-C Seminare von [co coa:ding].