Wie wird geprüft, ob ein Attribut für eine bestimmte Entität zur Laufzeit existiert? Ich werde eine Eigenschaft namens dateAddStamp implementieren, aber nicht alle Entitäten haben dieses Attribut. Diese Klasse wird als Basis für andere Entitätsklassen dienen... Ich möchte also zur Laufzeit prüfen, ob ich [self setPrimitiveValue:xxx forKey:xxx] aufrufen kann oder nicht... Danke!
Antworten
Zu viele Anzeigen?
techloverr
Punkte
2579
RP Development
Punkte
120
Um die Antwort von omz zu verbessern, sollten Sie auch prüfen, ob die Eigenschaft ein Attribut ist (und nicht eine Beziehung mit dem Namen @"foo"):
BOOL hasFoo = ( [[myObject.entity propertiesByName] objectForKey:@"foo"] != nil
&& ([[[myObject.entity propertiesByName] objectForKey:key] isKindOfClass:[NSAttributeDescription class]]) )
Jeba Moses
Punkte
709