iOS
...
Parse Swift SDK
Data Objects

Analyse des Types de Données avec ParseSwift sur iOS

16min

Analyser les types de données sur Swift

Introduction

Lors de l'enregistrement de données sur une base de données Back4App, chaque entité est stockée sous forme de paires clé-valeur. Le type de données pour le champ valeur va des fondamentaux (tels que String, Int, Double, Float, et Bool) à des structures plus complexes. La principale exigence pour stocker des données sur une base de données Back4App est que l'entité doit se conformer au ParseSwift protocole. À son tour, ce protocole fournit un ensemble de méthodes pour stocker, mettre à jour et supprimer toute instance d'une entité.

Dans ce guide, vous apprendrez comment créer et configurer une entité pour l'enregistrer sur votre base de données Back4App. Dans l'exemple de projet, l'entité que nous stockons contient des informations sur une recette.

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

Pour comprendre comment les objets sont analysés et stockés dans une base de données Back4App.

Prérequis

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

Comprendre notre application de recettes

La fonctionnalité de l'application est basée sur un formulaire où l'on peut entrer des informations sur une recette. En fonction des informations, le type de données peut varier. Dans notre exemple, la recette a les caractéristiques suivantes :

Champ

Type de données

Description

Nom

Chaîne

Nom de la recette

Portions

Int

Nombre de portions

Disponible

Bool

Détermine si la recette est disponible ou non

Catégorie

Catégorie

Une énumération personnalisée qui classe une recette en trois catégories : Petit-déjeuner, Déjeuner et Dîner

Ingrédients

[Ingrédients]

L'ensemble des ingrédients contenus dans une structure customIngredient** **

Options latérales

[Chaîne]

Noms des options supplémentaires avec lesquelles la recette est fournie

Informations nutritionnelles

[Chaîne:Chaîne]

Un dictionnaire contenant des informations sur le contenu nutritionnel de la recette

Date de sortie

Date

Une date indiquant quand la recette était disponible

De plus, il existe d'autres types de données qui sont utilisés pour implémenter des fonctionnalités de base de données comme la relation entre les objets. Ces types de données ne sont pas couverts dans ce tutoriel.

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

Étant donné un objet, disons Recette, si vous souhaitez l'enregistrer dans une base de données Back4App, vous devez d'abord faire en sorte que cet objet soit conforme au protocole ParseSwift (disponible via le SDK ParseSwift).

Swift


Avant de stocker des instances de cet objet dans une base de données Back4App, toutes ses propriétés doivent être conformes aux protocoles Codable et Hashable.

Nous utilisons les méthodes suivantes pour gérer ces objets sur la base de données Back4App :

Create
Update
Read
Delete


1 - Créer le modèle d'application Recipe

Nous commençons par créer un nouveau projet XCode. Dans ce tutoriel, le projet devrait ressembler à ceci

Document image


À tout moment, vous pouvez accéder au projet complet via nos dépôts GitHub.

Allez dans Xcode et trouvez le fichier SceneDelegate.swift. 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.

Swift


La classe du contrôleur de vue racine (RecipesController) pour le contrôleur de navigation est une sous-classe de UIViewController dans laquelle nous allons disposer un formulaire pour créer et mettre à jour des objets Recipe dans la base de données Back4App.

2 - Configurer l'objet Recipe

Les objets que vous souhaitez enregistrer dans votre base de données Back4App doivent se conformer au protocole ParseObject. Dans notre application Recipes, cet objet est Recipe. Par conséquent, vous devez d'abord créer cet objet. Créez un nouveau fichier Recipe.swift et ajoutez ce qui suit.

Swift


où nous avons déjà ajouté toutes les propriétés nécessaires à Recipe selon le tableau des caractéristiques des recettes.

Le type de données Ingredient est une structure contenant la quantité et la description de l'ingrédient. Comme mentionné précédemment, ce type de données doit se conformer aux protocoles Codable et Hashable pour faire partie des propriétés de la recette.

Swift


De plus, la propriété category dans Recipe a une énumération (Category) comme type de données qui se conforme également aux protocoles correspondants.

Swift


3 - Configuration de RecipesController

Dans RecipesController, nous devrions mettre en œuvre toute la configuration nécessaire pour la navigationBar et le formulaire utilisé pour capturer toutes les propriétés de la recette. Ce tutoriel ne couvre pas comment mettre en œuvre la mise en page du formulaire. Nous nous concentrons ensuite sur la logique liée à la gestion des types de données en utilisant le SDK ParseSwift. Ci-dessous, nous soulignons les points clés dans RecipesController qui nous permettent de comprendre comment nous mettons en œuvre la connexion entre l'interface utilisateur et les données provenant de votre base de données Back4App.

Swift


3 - Gestion de l'entrée utilisateur et analyse d'un objet Recette

Dans un fichier séparé (appelé RecipesController+ParseSwiftLogic.swift), en utilisant une extension, nous implémentons maintenant les méthodes handleSaveRecipe(), handleUpdateRecipe() et handleUpdateRecipe() pour gérer les données d'entrée.

Swift


4 - Exécutez l'application !

Avant d'appuyer sur le bouton exécuter dans XCode, n'oubliez pas de configurer votre application Back4App dans la classe AppDelegate !

La première fois que vous exécutez le projet, vous devriez voir quelque chose comme ça dans le simulateur (avec tous les champs vides)

Document image


Maintenant, vous pouvez commencer à entrer une recette pour ensuite l'enregistrer dans votre base de données Back4App. Une fois que vous avez enregistré une recette, allez sur votre tableau de bord Back4App et allez dans votre application, dans la section Base de données, vous trouverez la classe Recette où toutes les recettes créées par l'application iOS.

En particulier, il convient de noter comment des types de données non fondamentaux comme Ingrédient, Recette.Catégorie ou les dictionnaires sont stockés. Si vous naviguez à travers les données enregistrées sous la classe Recette, vous constaterez que

  • Le dictionnaire nutritionalInformation est stocké en tant qu'objet JSON.
  • Le tableau [Ingrédients] est stocké en tant que tableau d'objets JSON.
  • L'énumération Recette.Catégorie, puisqu'elle a un type de données entier comme RawValue, est transformée en un type de valeur Numérique.
  • La propriété releaseDate, une valeur de type Date en Swift, est également stockée en tant que valeur de type Date.

Pour conclure, lors de la récupération des données de votre base de données Back4App, vous n'avez pas besoin de décoder tous ces champs manuellement, le SDK ParseSwift les décode automatiquement. Cela signifie que, lors de la création d'une requête (Query<Recette> dans ce cas) pour récupérer des données, la méthode query.find() analysera tous les types de données et objets JSON pour renvoyer un tableau de Recettes, il n'y a pas de procédure d'analyse supplémentaire à mettre en œuvre.