iOS
Optimiser les requêtes iOS avec NSPredicate
11 min
interrogation avec nspredicate introduction dans cette section, vous apprendrez à utiliser nspredicate pour définir vos requêtes en objective c à tout moment, vous pouvez accéder au projet complet construit avec ce tutoriel sur notre https //github com/templates back4app/ios install sdk prérequis dans ce tutoriel, nous allons utiliser une application de base créée en objective c avec xcode 9 1 et ios 11 pour compléter ce tutoriel, vous avez besoin de une application créée sur back4app remarque suivez le https //www back4app com/docs/get started/new parse app pour apprendre à créer une application sur back4app xcode application ios de base remarque si vous n'avez pas d'application de base créée, vous pouvez ouvrir xcode et cliquer sur fichier > nouveau > projet > ios ensuite, sélectionnez application après avoir créé votre application de base, vous êtes prêt à suivre ce guide remarque le sdk ios de parse fonctionne avec ios 7 0 ou supérieur 1 obtenez le modèle téléchargez le modèle à https //github com/back4app/ios objective c quickstart example/archive/master zip , et dézippez les fichiers dans votre dossier de projet vous pouvez le faire en utilisant la ligne de commande suivante $ curl lok https //github com/back4app/ios objective c quickstart example/archive/master zip && unzip master zip 2 ouvrez le modèle de projet ouvrez xcode cliquez sur fichier >ouvrir fichier >ouvrir 3\ accédez au dossier du projet et double cliquez sur quickstartobjcexampleapp xcworkspace quickstartobjcexampleapp xcworkspace 4\ attendez que xcode ouvre le projet 3 comprendre la différence habituellement, pour objective c, vous avez deux options pour construire des requêtes utiliser le ‘pfquery’ ou le ‘nspredicate’ les deux fonctionnent de manière similaire, mais selon le nombre de contraintes que vous souhaitez utiliser, il peut être plus logique d'utiliser l'un plutôt que l'autre par exemple, une requête simple utilisant pfquery serait 1 \[query wherekey @"playername" notequalto @"michael yabuti"]; 2 \[query wherekey @"playerage" greaterthan @18]; mais une requête plus complexe pourrait devenir 1 \[query wherekey @"playername" notequalto @"michael yabuti"]; 2 \[query wherekey @"playerage" greaterthan @18]; 3 \[query wherekey @"playerheight" greaterthan @180]; 4 \[query wherekey @"playerweight" greaterthan @80]; 5 \[query wherekey @"playerfavoritecolour" notequalto @"blue"]; 6 \[query wherekey @"playerislefthanded" equalto @true]; 7 \[query wherekey @"playershoesize" notequalto @42]; 8 \[query wherekey @"playerlivingstate" equalto @"arizona"]; 9 \[query wherekey @"playerlivingcity" notequalto @"springfield"]; 10 \[query wherekey @"playermothersname" equalto @"jane"]; donc, selon chaque cas, vous pouvez choisir d'utiliser ‘nspredicate’ à la place une requête simple utilisant ‘nspredicate’ serait 1 nspredicate predicate = \[nspredicate predicatewithformat @"playername != 'michael yabuti' and playerage > 18"]; 2 pfquery query = \[pfquery querywithclassname @"gamescore" predicate\ predicate]; alors qu'une requête plus complexe pourrait devenir 1 nspredicate predicate = \[nspredicate predicatewithformat @"playername != 'michael yabuti' and playerage > 18 and playerheight > 180 and playerweight > 80 and playerfavoritecolour != 'blue' and playerislefthanded = true and playershoesize != 42 and playerlivingstate = 'arizona' and playerlivingcity != 'springfield' and playermothersname = 'jane'"]; 2 pfquery query = \[pfquery querywithclassname @"gamescore" predicate\ predicate]; 4 exécution de votre requête vous pouvez, alors, exécuter votre requête 1 \[query findobjectsinbackgroundwithblock ^(nsarray objects, nserror error) { 2 if (!error) { 3 // la demande a réussi 4 } 5 }]; prochaines étapes à ce stade, vous avez appris comment commencer avec les applications ios en savoir plus en parcourant nos https //www back4app com/docs/ios/ios app template ou consultez https //docs parseplatform org/ios/guide/