iOS
...
Parse Swift SDK
Data Objects

Guide Technique : Requêtes de Base avec ParseSwift SDK

15min

Requêtes de base

Introduction

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.

Objectif

  • Comprendre comment créer des requêtes de base pour récupérer des données d'une base de données Back4App.

Prérequis

Pour compléter ce guide rapide, vous avez besoin de :

Comprendre notre application Contacts

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.

Document image


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.

Référence rapide des commandes que nous allons utiliser

Pour cet exemple, nous utilisons l'objet Contact

Swift


Les méthodes suivantes nous permettront de sauvegarder et de interrogerContact objets:

Create contact
Query all
Query by name
Query by friend count
Query with ordering


1 - Téléchargez le modèle de l'application Contacts

Le XCode le projet a la structure suivante

Document image


À 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.

2 - Flux CRUD supplémentaires

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

Swift


Pour plus de détails sur cette étape, vous pouvez consulter le guide des opérations de base.

3 - Effectuer des requêtes 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

Swift


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

Swift


Dans le cas où la contrainte exige que le nom du champ corresponde exactement à une chaîne donnée, nous pouvons utiliser

Swift


- Par nombre d'amis

Une requête avec une contrainte impliquant une comparaison numérique peut être construite en créant unQueryConstraint avec

Swift


Pour interroger tous les contacts ayant 30 amis ou plus, nous utilisons

Swift


- 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

Swift


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

Swift


4 - Exécutez l'application !

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.