J'essaie de définir une requête d'extraction avec un prédicat pour obtenir des enregistrements dans le magasin dont l'attribut identifiants correspond à un tableau d'identificateurs spécifié dans le prédicat, par ex. La variable employeeIDsArray contient un certain nombre d'objets NSNumber qui correspondent à des ID dans le magasin. Cependant, j'obtiens une erreur "Impossible d'analyser la chaîne de format". Ce type de prédicat fonctionne s'il est utilisé pour filtrer un tableau, mais comme cela a été mentionné, il échoue pour une extraction de données de base. Comment dois-je définir le prédicat s'il vous plaît?Requête de récupération des données de base avec le tableau
Répondre
NSPredicate
ne pas utiliser des formats comme NSString
fait. De sorte que le résultat d'une création de prédicat utilisant le prédicatString pré-généré ne sera pas un prédicat valide.
Tu dois faire un prédicat réel:
NSPredicate * predicate = [NSPredicate predicateWithFormat:@"identifier IN %@", employeeIDsArray];
[fetchRequest setPredicate:predicate];
Voir the documentation pour plus d'informations sur les formats prédicats.
Lorsque vous créez cette chaîne en utilisant stringWithFormat:
, cette méthode insère description
du tableau (une chaîne décrivant le contenu du tableau) où vous aviez %@
.
Ce n'est pas ce que vous voulez. Vous ne voulez pas tester l'appartenance à une chaîne décrivant le tableau; vous voulez tester l'appartenance au le tableau. Donc, ne passez pas par stringWithFormat:
- passez la chaîne de format et le tableau directement à predicateWithFormat:
.
Merci. J'ai dû donner "Répondu" à la première affiche, mais +1 parce que grâce à vous je comprends maintenant pourquoi. – RunLoop
+1 pour avoir remarqué pourquoi cela ne fonctionnait pas! Je pensais juste qu'il avait oublié de transformer sa chaîne en un prédicat. –
- 1. Récupération HyperSQL Base de données
- 2. VB.Net Récupération des données de la base de données
- 3. Récupération de base de données non-linéaire
- 4. Polymorphisme avec requête de base de données
- 5. Récupération de relations avec les données de base
- 6. Android: problème de récupération bitmap de la base de données
- 7. Récupération de l'indisponibilité de la base de données avec des données en continu
- 8. Récupération de base de données SQL Server
- 9. Récupération de la base de données MySQL
- 10. Récupération de l'historique des données
- 11. Récupération des enregistrements d'une base de données en C# 2008
- 12. Récupération des commentaires d'une base de données PostgreSQL
- 13. Récupération des données
- 14. Tableau ou tableau de base de données?
- 15. Récupération de données DB
- 16. Requête de base de données Aide requise dans MySQL
- 17. Requête base de données pour récupérer un tableau
- 18. base de données Android requête
- 19. NSSortDescriptor ne fonctionne pas lors de la récupération des enregistrements à partir des données de base
- 20. Récupération de requête MySQL BinLog
- 21. mode Récupération (de base | Avancé) du composant de requête ADF
- 22. Question d'héritage - récupération des données du fichier de base de données Access et de SQL Express
- 23. Récupération de données i18n avec un langage de repli
- 24. mysql des questions de récupération de données
- 25. Données de base combinées Requête
- 26. Formats de base de données de récupération d'information?
- 27. Combien coûte l'exécution de la requête de récupération dans les données de base?
- 28. requête wordpress base de données
- 29. Récupération de caractères corrompus dans la base de données
- 30. Récupération d'un ensemble de résultats unique avec des données de base
Merci, mais bien sûr j'appelle: NSPredicate * predicate = [NSPredicate predicateWithFormat: predicateString]; – RunLoop
Toutes mes excuses pour ne pas avoir accepté votre réponse plus tôt. J'ai essayé votre suggestion et cela fonctionne. – RunLoop