Ich habe mit der Programmierung einer iPhone-App mit CoreData begonnen und versucht, meine Codebasis so wartbar wie möglich zu gestalten. Daher würde ich gerne hartcodierte Strings wie vermeiden:Name des CoreData-NSPredicates-Attributs
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == %@", aName];
Stattdessen würde ich etwas in der Lage sein mag, schreiben wie:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K == %@", Person.name, aName];
Auf diese Weise würde ich den Compiler, ob name
zu überprüfen bekommen ist eine Eigenschaft der Entität Person
und vermeiden Rechtschreibfehler.
Mit diesem Code obwohl ich bei der Kompilierung der folgenden Fehler bin immer: Property name
nicht auf Objekt gefunden Typs Person
Person
Wesen vom Typ NSManagedObject
und automatisch von Xcode von meinem MyApp.xcdatamodeld
erzeugt.
name
ist ein einfaches String-Attribut des Unternehmens Person
Ich googeln up habe und SOED bis ziemlich viel bereits eine Antwort auf diese spezielle Frage. Ich habe auch versucht, property_getName
und NSPropertyDescription
mit nicht Glück bisher zu verwenden.
Vielen Dank im Voraus für die Ihnen helfen,
Joss.
Es funktioniert nicht so, Sie müssten immer noch '@" name "' an das '@ K' Argument übergeben. – Joe