Beispiel: Ich habe eine Entität mit der Bezeichnung Car
, die abstract ist. Dann gibt es zwei untergeordnete Einheiten Cabriolet
und Pickup
.Core Data Vererbung: Ist es in Ordnung, dies zu tun?
Jetzt habe ich eine Entität mit der Bezeichnung Driver
, die eine Beziehung namens currentCar
1..1 an die Entität Car
hat. So kann ich der currentCar Eigenschaft eines Treibers entweder ein Cabriolet oder einen Pickup zuweisen. Dann müsste ich das Objekt inspizieren, um zur Laufzeit herauszufinden, ob ich ein Cabriolet oder Pickup habe, wenn ich das currentCar vom Fahrer bekomme. Ist dies ein gültiges Design in Core Data?
Ein Cabriolet fügt einen BOOL hasElectricRoof hinzu. Grundsätzlich ist die Frage, ob ich das currentCar abhole und mir vorher ein Cabriolet (welches auch ein Auto ist) zugewiesen habe, ob ich es dann in ein Cabriolet werfen könnte? Oder werden Core-Daten nicht die Eigenschaften abrufen, die nur in Cabriolet definiert sind? –
@BugAlert: Ja. Sie können Daten immer mit der Methode 'valueForKey:' abrufen, vorausgesetzt, die Klasse ist eine Unterklasse von 'NSManagedObject'. –
Das ist nicht der Punkt, Benedikt. Ich weiß, dass ich Objekte holen kann. Der Punkt ist: Werden die spezialisierten Eigenschaften verfügbar und abgerufen, wenn der Fehler ausgelöst wird, oder werden sie nicht ?! –