J'ai toujours créé mes NSFetchRequests entièrement en code. Maintenant, je regarde l'interface graphique de Xcode pour construire une requête d'extraction et la stocker dans le modèle.Substitution de variables avec FetchRequests stockées dans un modèle CoreData
Je suis un exemple de la documentation Xcode. J'ai ajouté une demande de récupération de mon modèle, et le prédicat qui a été créé par l'interface graphique de modélisation est:
firstName LIKE[c] "*SUBSTRING*"
je récupère alors cette demande avec ces deux lignes:
NSDictionary *substituionDictionary = [NSDictionary dictionaryWithObject:@"woody" forKey:@"SUBSTRING"];
NSFetchRequest *fetchRequest = [mom fetchRequestFromTemplateWithName:@"firstNameContains" substitutionVariables:substituionDictionary];
Un NSLog du NSFetchRequest résultant délivre ceci:
(entity: Customer; predicate: (firstName LIKE[c] "*SUBSTRING*"); sortDescriptors: (null); limit: 0)
.. ce qui indique que la variable est non substitué étant avant le retour du FetchRequest stocké. Alors, comment peut-on spécifier que le texte entré dans l'interface graphique de l'éditeur de prédiction de demande de Fetch Xcode Data Modeling est destiné à être substitué à l'exécution par NSFetchRequest: fetchRequestFromTemplateWithName: substitutionVariables:?
Merci!
Woody
Genius. C'est exactement la solution. (Je n'ai jamais rien vu d'aussi inintéressant dans une application Apple que cette fenêtre pop-up cachée.) Je n'ai aucune idée de ce que j'aurais pu trouver si je n'avais pas demandé et vous avez répondu. Merci!! – Woodster
Je suis d'accord. Veuillez déposer une demande d'amélioration pour l'interface utilisateur et un bogue contre la documentation (pour ne pas vous indiquer où chercher) sur http://bugreport.apple.com! –