Implémentation CRUD avec ParseSwift SDK pour iOS
Le stockage de données sur Parse est construit autour de la Parse.Object classe. Chaque Parse.Object contient des paires clé-valeur de données compatibles JSON. Ces données sont sans schéma, ce qui signifie que vous n'avez pas besoin de spécifier à l'avance quelles clés existent sur chaque Parse.Object. Vous pouvez simplement définir les paires clé-valeur que vous souhaitez, et notre backend les stockera.
Vous pouvez également spécifier les types de données selon les besoins de votre application et persister des types tels que nombre, booléen, chaîne, DateTime, liste, GeoPointers, et Objet, les encodant en JSON avant de les enregistrer. Parse prend également en charge le stockage et la requête de données relationnelles en utilisant les types Pointers et Relations.
Dans ce guide, vous apprendrez à effectuer des opérations de données de base à travers une application exemple CRUD (Application de liste de tâches), qui vous montrera comment créer, lire, mettre à jour et supprimer des données de votre base de données serveur Parse en utilisant le ParseSwift SDK.
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.
Pour apprendre à effectuer des opérations de base sur une base de données back4app en utilisant une application de liste de tâches comme exemple
Pour compléter ce guide rapide, vous avez besoin de :
- Xcode.
- Une application créée sur Back4App.
- Suivez le tutoriel sur la 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.
Pour mieux comprendre le SDK ParseSwift vous allez effectuer des opérations CRUD sur une application de liste de tâches. La base de données de l'application aura une classe de tâche simple avec un titre et une description (tous deux chaînes). Vous pouvez mettre à jour le titre et/ou la description de chaque tâche.
Une fois qu'un objet conforme au ParseSwift protocole, il implémente automatiquement un ensemble de méthodes qui vous permettront de gérer l'objet et de mettre à jour les modifications sur votre base de données Back4App. Étant donné l'objet ToDoListItem
ces méthodes sont listées ci-dessous.

À tout moment, vous pouvez accéder au projet complet via nos dépôts GitHub.
Allez dans Xcode et trouvez le SceneDelegate.swift fichier. Afin d'ajouter une barre de navigation en haut de l'application, nous configurons un UINavigationController comme contrôleur de vue racine de la manière suivante.
La classe du contrôleur de vue racine (ToDoListController) pour le contrôleur de navigation est une sous-classe de UITableViewController, cela facilite la mise en page d'une liste d'éléments.
Les objets que vous souhaitez enregistrer dans votre base de données Back4App doivent respecter le ParseObject protocole. Dans notre application To-do List, cet objet est ToDoListItem. Par conséquent, vous devez d'abord créer cet objet :
Cet objet définit une classe dans votre base de données Back4App. Toute nouvelle instance de cet objet est ensuite stockée dans votre base de données sous la ToDoListItem classe.
Dans ToDoListController nous devrions implémenter toute la configuration nécessaire pour le navigationBar, et tableView propriétés.
Pour conclure cette étape, nous implémentons la cellule de vue de table personnalisée ToDoListItemCell
Nous implémentons toute la logique CRUD dans la ToDoListController classe. Allez à ToDoListController.swift et ajoutez les méthodes suivantes à la ToDoListController classe
- Créer un objet
Maintenant, nous commençons à implémenter le createObject(title:description:) méthode. Créez une instance de ToDoListItem en utilisant le init(title:description:) initialiseur. Afin de sauvegarder ce nouvel élément dans votre base de données Back4App, le ParseSwift protocole fournit une save() méthode. Cette méthode peut être appelée de manière synchrone ou asynchrone, choisissez l'une d'elles selon votre cas d'utilisation. Une implémentation asynchrone devrait ressembler à ceci
Maintenant, nous pouvons compléter l'action pour le bouton d'ajout situé à droite de la barre de navigation. Allez àToDoListController et ajoutez ce qui suit
- Lire l'objet
Nous passons à la readObjects() méthode. Récupérer les ToDoListItem éléments de votre base de données Back4App se fait via un Query<ToDoListItem> objet. Cette requête est instanciée de la manière suivante
Dans ce tutoriel, nous utilisons une requête qui récupérera tous les éléments de type ToDoListItem de votre base de données Back4App. Si vous souhaitez récupérer un ensemble d'éléments spécifiques, vous pouvez fournir des QueryConstraint éléments à ToDoListItem.query(QueryConstraint...). Par exemple, pour récupérer tous les éléments où title == "Some title", la requête prend la forme
Une fois que vous avez la requête prête, nous procédons à la récupération des éléments en appelantquery.find(). Encore une fois, cela peut être fait de manière synchrone ou asynchrone. Dans notre application To-do List, nous l'implémentons de manière asynchrone.
Avec readObjects() terminé, nous pouvons maintenant récupérer toutes les tâches stockées dans votre base de données Back4App et les afficher juste après que l'application entre au premier plan. Retournez à ToDoListController et remplacez la méthode viewDidAppear().
- Mettre à jour l'objet
Étant donné le objectId d'un ToDoListItem objet, il est simple de réaliser une mise à jour. Nous instancions simplement un ToDoListItem en utilisant le init(objectId:) initialiseur. Ensuite, nous mettons à jour les propriétés dont nous avons besoin et appelons la save() méthode (de ToDoListItem) pour enregistrer les modifications.
- Supprimer l'objet
La suppression d'objets dans votre base de données Back4App est très similaire à la création d'objets. Nous commençons par créer une instance de ToDoListItem avec l'objectId de l'élément que nous voulons supprimer. Ensuite, nous appelons simplement (synchroniquement ou asynchroniquement) la delete() méthode de l'objet. Si la suppression a réussi, nous mettons à jour l'interface utilisateur, sinon nous signalons l'erreur.
Avec deleteObject(item:) et updateObject(objectId:newTitle:newDescription) terminé, nous procédons à ajouter les actions correspondantes pour appeler ces opérations. Retournez à ToDoListController et ajoutez
Comme nous l'avons souligné précédemment, le bouton accessoire dans chaque ToDoListItemCell déclenche une feuille d'édition via le tableView(_:accessoryButtonTappedForRowWith:) méthode déléguée.
À ce stade, vous avez appris à effectuer les opérations CRUD de base avec Parse sur iOS.