Guide Technique : Requêtes de Base avec ParseSwift SDK
Dans la plupart des cas d'utilisation, nous devons récupérer des données d'une base de données avec certaines conditions. Ces conditions peuvent inclure des comparaisons complexes et des exigences de tri. Ainsi, dans toute application, il est fondamental de construire des requêtes efficaces et, en même temps, la base de données doit être capable de les exécuter aussi rapidement que possible.
Le ParseSwift SDK fournit les outils nécessaires pour que vous puissiez construire n'importe quelle requête selon les exigences de l'application. Dans ce tutoriel, nous explorons ces outils et les utilisons dans une application du monde réel.
Ce tutoriel utilise une application de base créée dans Xcode 12 et iOS 14.
À tout moment, vous pouvez accéder au projet complet via nos dépôts GitHub.
- Comprendre comment créer des requêtes de base pour récupérer des données d'une base de données Back4App.
Pour compléter ce guide rapide, vous avez besoin de :
- Xcode.
- Une application créée sur Back4App.
- Suivez le tutoriel de nouvelle application Parse pour apprendre à créer une application Parse sur Back4App.
- Remarque : Suivez le tutoriel d'installation du SDK Parse (Swift) pour créer un projet Xcode connecté à Back4App.
Le modèle de projet est une application Contacts où l'utilisateur ajoute les informations d'un contact pour les enregistrer dans une base de données Back4App.

Sur l'écran d'accueil de l'application, vous trouverez un ensemble de boutons pour différents types de requêtes. En utilisant le + bouton situé en haut à droite de la barre de navigation, nous pouvons ajouter autant de Contacts que nécessaire.
Pour cet exemple, nous utilisons l'objet Contact
Les méthodes suivantes nous permettront de sauvegarder et de interrogerContact objets:
Le XCode le projet a la structure suivante

À tout moment, vous pouvez accéder au projet complet via nos dépôts GitHub.
Pour se concentrer sur l'objectif principal de ce guide, nous ne détaillerons que les sections strictement liées aux requêtes et au ParseSwift SDK.
Avant de commencer avec les requêtes, il est nécessaire d'avoir déjà quelques contacts enregistrés dans votre base de données Back4App. Dans la NewContactController classe, nous implémentons un formulaire de base pour ajouter un Contact. Pour enregistrer une instance d'un Contact objet, nous utilisons la handleAddContact() méthode implémentée dans la NewContactController classe
Pour plus de détails sur cette étape, vous pouvez consulter le guide des opérations de base.
- Par nom
Le premier exemple que nous examinons est une requête qui nous permet de récupérer des contacts ayant une sous-chaîne spécifique dans leur nom champ. Pour ce faire, nous créons d'abord un QueryConstraint objet. Cet objet contiendra la contrainte que nous souhaitons. Le ParseSwift SDK fournit les méthodes suivantes pour (indirectement) créer un QueryConstraint
Par exemple, une requête qui nous permet de récupérer tous les Contacts ayant John dans leur nom peut être créée avec
Dans le cas où la contrainte exige que le nom du champ corresponde exactement à une chaîne donnée, nous pouvons utiliser
- Par nombre d'amis
Une requête avec une contrainte impliquant une comparaison numérique peut être construite en créant unQueryConstraint avec
Pour interroger tous les contacts ayant 30 amis ou plus, nous utilisons
- Ordonnancement des résultats de la requête
Pour ordonner les résultats d'une requête, l' Query<contacts> objet fournit la méthode order(_:) qui retourne un nouvel Query<contact> objet en tenant compte de l'option d'ordonnancement demandée. En paramètre, nous passons une énumération (Query<contact>.Order) pour indiquer l'ordonnancement que nous souhaitons. Le snippet suivant applique un ordre décroissant basé sur le birthday champ
Dans le exemple de projet, nous avons implémenté les requêtes mentionnées ci-dessus. La ContactsController classe a la méthode fetchContacts() où vous trouverez le snippet suivant
Avant d'appuyer sur le bouton d'exécution sur XCode, n'oubliez pas de configurer votre Back4App application dans le AppDelegate classe !
En utilisant le+ bouton dans la barre de navigation, ajoutez quelques contacts et testez les différentes requêtes.