Ho iniziato a programmare un'app per iPhone utilizzando CoreData e cercando di rendere il mio codice base il più possibile manutenibile. Perciò io vorrei evitare stringhe hard-coded come ad esempio:Nome attributo NSPredicate CoreData
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == %@", aName];
Invece mi piacerebbe essere in grado di scrivere qualcosa di simile:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K == %@", Person.name, aName];
In questo modo avrei avuto il compilatore per verificare se name
è una proprietà dell'entità Person
ed evitare errori di ortografia.
Con questo codice se sto ottenendo il seguente errore in fase di compilazione: proprietà name
non trovato in oggetto di tipo Person
Person
essere di tipo NSManagedObject
e automaticamente generato da Xcode dal mio MyApp.xcdatamodeld
.
name
è un semplice attributo di stringa del soggetto Person
Googled e SOed un bel po 'già una risposta a questo problema specifico. Ho anche provato a utilizzare property_getName
e NSPropertyDescription
con poca fortuna finora.
Grazie in anticipo per l'aiuto,
Joss.
Non funziona in questo modo, si dovrebbe comunque fornire '@" nome "' all'argomento '@ K'. – Joe