Dans le cours : Développement iOS : La persistance des données
Créer un document
Dans le cours : Développement iOS : La persistance des données
Créer un document
Dans cette vidéo, nous allons configurer la création d'un document avec un nom par défaut. Nous allons créer un emplacement où le document sera temporairement stocké sur le disque pendant que l'application effectue son travail pour l'importer dans sa zone de stockage. Pour cela, nous allons utiliser le répertoire des caches. Enfin, nous allons stocker un nombre séquentiel dans la base de données UserDefaults. Ce nombre sera donc utilisé dans le nom du fichier pour éviter les conflits des noms à chaque fois que l'utilisateur créera un nouveau fichier. Dans ma classe DocumentBrowserViewController, j'ai défini une fonction qui va me permettre de retourner l'emplacement d'un nouveau fichier dans le répertoire des caches. J'ai déclaré une clé Number qui va me permettre de récupérer le nombre séquentiel depuis la base de données UserDefaults. Ensuite, je vais utiliser ce nombre dans le nom du fichier et enfin, je vais former l'URL, c'est-à-dire l'emplacement du nouveau fichier, grâce au nom et à la variable cacheDir qui a été récupérée avec la méthode FileManager for url pour le répertoire des caches. Ce document sera retourné comme emplacement du nouveau fichier. Mais avant de terminer, je vais déterminer quel sera le prochain nouveau nombre séquentiel que je vais stocker dans ma base de données UserDefaults en me servant de la clé key qui est définie là et qui a comme valeur Number. À chaque fois que l'utilisateur cliquera sur le bouton de création d'un nouveau fichier, la fonction documentBrowser didRequestDocumentCreationWithHandler sera déclenchée. Je vais supprimer le contenu de cette méthode pour le remplacer par un autre code. Alors, ici, une fois que cette méthode est déclenchée, je vais récupérer d'abord l'emplacement du nouveau fichier avec le bon nom, ensuite, je vais instancier un nouveau document que je vais stocker dans la variable newDocument. La variable newDocument a une méthode save qui va me permettre de sauvegarder le nouveau document, c'est-à-dire depuis l'emplacement des caches et si cette opération est réussie, alors je peux continuer et laisser l'application importer mon fichier dans sa zone de stockage. Par contre, si l'opération échoue, je vais m'arrêter là et je vais retourner la valeur nil dans importHandler. Alors, notez que si l'opération échoue, la prochaine méthode qui sera déclenchée ça sera didDocumentBrowser FailedToImportDocumentAt et donc vous pourrez entreprendre les actions appropriées. Par contre, si l'opération est réussie, ce sera cette méthode-là qui va être déclenchée, donc didImportDocumentAt. On vient de voir comment créer un nouveau document par défaut, comment permettre à ce que ce document puisse être importé dans la zone de stockage de notre application.
Entraînez-vous tout en suivant la formation avec les fichiers d’exercice.
Téléchargez les fichiers utilisés par l’instructeur pour enseigner le cours. Suivez attentivement et apprenez en regardant, en écoutant et en vous entraînant.