Variable Substitution mit in einem CoreData-Modell gespeicherten FetchRequests
Ich habe meine NSFetchRequests immer vollständig im Code erstellt. Jetzt sehe ich mir die Xcode-GUI an, um eine Abrufanforderung zu erstellen und im Modell zu speichern.
Ich folge einem Beispiel aus der Xcode-Dokumentation. Ich habe meinem Modell eine Abrufanforderung hinzugefügt, und das Prädikat, das über die Modellierungs-GUI erstellt wurde, lautet:
firstName LIKE[c] "*SUBSTRING*"
Ich rufe dann diese Anfrage mit diesen zwei Zeilen ab:
NSDictionary *substituionDictionary = [NSDictionary dictionaryWithObject:@"woody" forKey:@"SUBSTRING"];
NSFetchRequest *fetchRequest = [mom fetchRequestFromTemplateWithName:@"firstNameContains" substitutionVariables:substituionDictionary];
Ein NSLog der resultierenden NSFetchRequest gibt Folgendes aus:
(entity: Customer; predicate: (firstName LIKE[c] "*SUBSTRING*"); sortDescriptors: (null); limit: 0)
.. Gibt an, dass die Variable vor der Rückgabe der gespeicherten FetchRequest nicht ersetzt wird.
Wie kann man also festlegen, dass der in die Xcode Data Modeling-Benutzeroberfläche eingegebene Text zur Laufzeit durch NSFetchRequest: fetchRequestFromTemplateWithName: substitutionVariables:? @ Ersetzt werden sol
Vielen Dank
Woody