7

Ich habe immer meine NSFetchRequests ganz in-Code erstellt. Jetzt schaue ich mir die Xcode-GUI an, um eine Abrufanforderung zu erstellen und sie im Modell zu speichern.Variablensubstitution mit FetchRequests in einem Coredata Modell gespeichert

Ich folge ein Beispiel aus der Xcode-Dokumentation. Ich habe eine Anfrage an mein Modell holen, und das Prädikat, das durch die Modellierung GUI erstellt wurde, ist:

firstName LIKE[c] "*SUBSTRING*" 

ich abrufen dann diesen Antrag mit diesen beiden Linien:

NSDictionary *substituionDictionary = [NSDictionary dictionaryWithObject:@"woody" forKey:@"SUBSTRING"]; 

NSFetchRequest *fetchRequest = [mom fetchRequestFromTemplateWithName:@"firstNameContains" substitutionVariables:substituionDictionary]; 

Eine NSLog der NSFetchRequest resultierende Ausgaben dieses:

(entity: Customer; predicate: (firstName LIKE[c] "*SUBSTRING*"); sortDescriptors: (null); limit: 0) 

.., das anzeigt, dass der Variable nicht vor der gespeicherten FetchRequest zum Rück substituiert ist.

Also, wie soll man angeben, dass Text, der in der Xcode Data Modeling Abruf-Prädikat-Builder-GUI eingegeben wurde, zur Laufzeit durch NSFetchRequest ersetzt werden soll: fetchRequestFromTemplateWithName: substitutionVariables:?

Vielen Dank!

Woody

Antwort

5

Sie brauchen einen Rechtsklick auf die Zeile des Anforderungs Prädikat Editor holen die beabsichtigte Variable enthält, und wählen Sie „Variable“ aus dem Popup. Wo Sie mit der rechten Maustaste manchmal wählerisch in der Xcode-Editor ist, so neige ich nur links von den +/- Tasten klicken.

+0

Genius. Das ist genau die Lösung. (Ich habe noch nie etwas so unintuitive in einem Apple App wie das versteckten Pop-up erlebt.) Ich habe keine Ahnung, wie ich jemals gekommen wäre über das hatte ich nicht gefragt, und Sie beantworten. Vielen Dank!! – Woodster

+1

Ich stimme zu. Bitte einen Verbesserungsvorschlag für die Benutzeroberfläche und einen Bug gegen die Dokumentationsdatei (für Sie nicht sagen, wo sie suchen müssen) bei http://bugreport.apple.com! –

Verwandte Themen