Libérez votre développeur d’applications internes Partie 15 : Données de base Prochaines étapes

By

Vous avez une idée d’application mais vous n’avez pas les connaissances en programmation nécessaires pour commencer à la construire ? Dans cette série de blogs hebdomadaires, intitulée “Comment libérer votre développeur d’application interne”, je vous guiderai, en tant que non-programmeur, pas à pas à travers le processus de création d’applications pour l’iPhone, l’iPod touch et l’iPad. Rejoignez-moi chaque semaine dans cette aventure, et vous découvrirez à quel point il peut être amusant de transformer vos idées en réalité ! Voici la 15e partie de la série. Si vous commencez tout juste, consultez le début de la série ici. (Ce post a été mis à jour vers Swift 1.2, iOS 8, et Xcode 6.3) .

Dans mon précédent article de cette série, j’ai abordé certains des principes de base des Core Data, la technologie qui permet de stocker et de récupérer des informations sur un appareil iOS. Vous avez appris les modèles de données d’entités, les bases de données et comment vous pouvez améliorer l’implémentation par défaut de Core Data d’Apple.

Maîtrisez votre iPhone en une minute par jour :

Inscrivez-vous à la newsletter “Tip of the Day” de iPhone Life et nous vous enverrons chaque jour un conseil pour gagner du temps et tirer le meilleur parti de votre iPhone ou iPad.

Dans cet article, nous allons appliquer ce que vous avez appris et ajouter des données de base au projet iAppsReview . Vous pouvez obtenir la dernière version de iAppsReview à ce lien . Je vous recommande de suivre vous-même les étapes décrites dans ce post, mais si vous rencontrez des difficultés, vous pouvez obtenir la projection complète à partir de ce lien .

Ajout de données de base à iAppsReview

Comme je l’ai mentionné dans mon précédent billet, je recommande fortement de ne pas utiliser l’option Use Core Data de Xcode lors de la création d’un nouveau projet. Alors comment ajouter les composants Core Data nécessaires à un projet ? Vous devez suivre deux étapes principales :

  1. Ajouter CoreData.framework au projet;

  2. Ajouter un modèle de données d’entité au projet.

Les étapes suivantes fournissent des instructions détaillées pour ajouter des données de base au projet iAppsReview .

  1. Dans Xcode, ouvrez le projet iAppsReview .
  1. Dans le navigateur de projet, sélectionnez le tout premier nœud de projet ( Figure 1 ) pour afficher l’éditeur de projet au centre de la fenêtre Xcode.

Figure 1 – Sélectionnez le premier nœud dans le navigateur de projet.

  1. S’il n’est pas déjà sélectionné, sélectionnez l’onglet Général de l’éditeur de projet, puis faites défiler vers le bas jusqu’à la section Cadres et bibliothèques liés et cliquez sur le bouton plus (+) ( Figure 2 ).

Figure 2 – Cliquez sur le bouton plus (+) sous Cadres et bibliothèques liés .

  1. Dans la fenêtre Choisir les cadres et les bibliothèques, faites défiler vers le bas, sélectionnez CoreData.framework , puis cliquez sur le bouton Ajouter ( Figure 3 ) pour ajouter le cadre au projet.

Figure 3 – Ajouter CoreData.framework au projet.

  1. Cela ajoute CoreData.framework au groupe Frameworks ( Figure 4 ).

Figure 4 – Déplacer CoreData.framework vers le groupe Frameworks .

  1. Ajoutons maintenant un groupe Business Layer au Project Navigator, qui sera utilisé pour stocker le modèle de données des entités, et éventuellement, les classes d’entités et autres classes de la couche business. Pour ce faire, cliquez avec le bouton droit de la souris sur le dossier du groupe iAppsReview dans le Project Navigator, puis sélectionnez New Group dans le menu contextuel. Cela ajoute un nouveau groupe au Project Navigator ( Figure 5 ).

Figure 5 – Ajouter un nouveau groupe dans le navigateur de projet

  1. Ensuite, entrez le texte Business Layer pour spécifier le nom du nouveau groupe et appuyez sur return.
  1. Ajoutons maintenant un modèle de données d’entité au nouveau groupe Business Layer . Pour ce faire, cliquez avec le bouton droit de la souris sur le groupe Business Layer et sélectionnez New File… dans le menu contextuel.

  2. Dans la partie gauche de la boîte de dialogue Nouveau fichier, sous la section iOS , sélectionnez Données de base , puis dans la partie droite de la boîte de dialogue, sélectionnez le modèle de données comme indiqué dans la figure 6 .

Figure 6 – Ajouter un modèle de données au projet.

  1. Cliquez sur le bouton Suivant pour afficher le dialogue de sauvegarde. Changez le nom du nouveau fichier en iAppsReview.xcdatamodeld .
  1. Cliquez sur le bouton Créer pour ajouter le nouveau modèle de données d’entité au projet. Le nouveau modèle de données d’entité est affiché dans la région de l’éditeur Xcode ( Figure 7 ) ;

Figure 7 – Le nouveau modèle de données d’entité

Conception des entités dans le modèle de données

Par défaut, aucune entité n’est incluse dans le modèle de données des entités. Dans la barre d’outils au bas du modèle de données des entités ( Figure 7 ) se trouve un bouton Add Entity qui vous permet d’ajouter de nouvelles entités au modèle. Il existe également un bouton Add Attribute qui vous permet d’ajouter des attributs à l’entité actuellement sélectionnée (le bouton est désactivé si aucune entité n’est sélectionnée).

Il existe également un groupe de boutons Style de l’éditeur qui vous permet de passer d’un style Tableau à un style Graphique . Après avoir ajouté quelques entités, je vous montrerai la différence entre ces deux styles de visualisation.

Ajout d’entités au modèle

Dans notre quête pour transformer iAppsReview en une application de travail, nous ajouterons une ReviewEntity au modèle, qui représente les commentaires écrits par les utilisateurs. Pour rappel, la figure 8 contient la scène Write Review qui montre les informations que nous recueillons auprès de l’utilisateur pour chaque évaluation.

Figure 8 – La scène Écrire une critique montre les informations que nous recueillons pour les critiques.

Suivez ces étapes pour créer une ReviewEntity dans le modèle de données :

  1. Une fois le modèle de données d’entité sélectionné dans le navigateur de projet et l’éditeur de modèle de données d’entité ouvert dans la surface de conception, cliquez sur le bouton Ajouter une entité en bas à gauche du modèle de données d’entité. Ceci ajoute une nouvelle entité sous la section Entities dans le panneau de gauche comme indiqué dans la figure 9 .

Figure 9 – Ajouter une nouvelle entité au modèle de données d’entité.

  1. L’inspecteur du modèle de données est automatiquement affiché pour vous sur le côté droit de la fenêtre Xcode comme indiqué dans Figure 10 . Si vous ne voyez pas l’inspecteur de modèle de données, vous pouvez l’afficher en sélectionnant Affichage> Utilitaires> Afficher l’inspecteur de modèle de données dans le menu Xcode. Modifiez le nom de l’entité de Entity à ReviewEntity et appuyez sur return.

Figure 10 – L’inspecteur des modèles de données

  1. Dans l’inspecteur du modèle de données, réglez la classe sur ReviewEntity . Ceci spécifie le nom de la classe qui sera générée ultérieurement à partir de cette entité ;
  1. Ajoutons maintenant un attribut à la ReviewEntity . Pour ce faire, cliquez sur le bouton Add Attribute en bas du modèle de données de l’entité. Ceci ajoute un attribut dans la section Attributs de l’entité actuellement sélectionnée (Figure 11 ).

Figure 11 – L’attribut nouvellement ajouté

Bien que vous puissiez changer le nom et le type de l’attribut directement dans le modèle, je trouve qu’il est plus facile de définir ces informations dans l’inspecteur de modèle de données, comme le montre la figure 12 . Comme vous pouvez le voir, il contient différents paramètres lorsque l’attribut d’une entité est sélectionné dans l’éditeur de modèle de données.

Figure 12 – L’inspecteur de modèle de données pour les attributs

Paramètres des attributs des entités

Faisons un bref détour pour expliquer chacun des paramètres des attributs de l’entité.

  • Nom – Le nom de l’attribut de l’entité. Il doit être en majuscules (la première lettre est en minuscules, puis la première lettre de chaque mot d’un mot composé est en majuscules), car Xcode génère une propriété sur une classe d’entité à partir de cet attribut.
  • Transient – Lorsque cette option est sélectionnée, elle indique que la valeur de l’attribut est générée au moment de l’exécution plutôt que d’être récupérée et stockée dans la base de données. Pour un exemple d’utilisation des attributs transitoires, voir ce lien .
  • Facultatif – Lorsque cette option est sélectionnée, elle indique que l’attribut n’a pas besoin d’avoir une valeur. Par exemple, dans une entité Address , vous pouvez spécifier qu’un attribut address2 est facultatif, car la plupart des adresses n’ont pas de deuxième ligne d’adresse.
  • Indexé – Indique si la colonne correspondante de la base de données est indexée. Vous devez généralement sélectionner cette option pour les colonnes sur lesquelles vous devez effectuer des recherches. Pour plus d’informations sur les index des bases de données, consultez ce lien .
  • Attribute Type – Spécifie le type de valeurs que l’attribut contient. Certaines des options les plus courantes sont Entier16 , Entier32 , Décimal , Chaîne , Booléen , et Date .

Si vous sélectionnez un ou plusieurs types d’attributs numériques, vous verrez des paramètres supplémentaires de validation où vous pourrez spécifier les valeurs minimum , maximum , et par défaut .

Si vous sélectionnez le type d’attribut String , vous verrez des paramètres supplémentaires tels que Min Length, Max Length , et Default value.

Création des attributs ReviewEntity

Maintenant que vous avez compris les différents paramètres des attributs, il est temps d’ajouter des attributs à la ReviewEntity .

  1. Sélectionnez le modèle de données d’entité iAppsReview dans le navigateur de projet.
  1. Dans l’éditeur de modèle de données d’entité, assurez-vous que l’entité ReviewEntity est sélectionnée dans le panneau de gauche, et sélectionnez l’attribut que vous avez ajouté plus tôt dans cet article ( Figure 13 ).

Figure 13 – Sélectionnez l’attribut ReviewEntity .

  1. Dans l’inspecteur du modèle de données, définissez les attributs suivants comme indiqué dans Figure 14 .

Figure 14 – Les paramètres de l’attribut address

  • Réglez le Name sur appName et appuyez sur return .
  • Décochez la case Facultatif .
  • Définissez le type d’attribut à Chaîne .
  1. Ajoutons d’autres attributs à ReviewEntity . Lorsque vous aurez terminé, les attributs des entités dans l’éditeur de modèle de données ressembleront à Figure 15 .

Figure 15 – Attributs de la ReviewEntity

Pour ajouter les attributs indiqués dans Figure 15 , cliquez d’abord sur le bouton Nouvel attribut en bas de l’éditeur de modèle de données, puis définissez le nom et le type d’attribut spécifié. Décochez la case Facultatif pour tous les attributs sauf image , et isPosted , car ces attributs sont facultatifs.

  1. Pour terminer, sélectionnez l’attribut rating , puis allez dans l’inspecteur des données et réglez le Minimum sur 1 , et le Maximum à 5 (en faisant cela, on sélectionne automatiquement les cases à cocher Minimum et Maximum ). Cela permet de définir ce que nous appelons les règles de gestion . Nous précisons que l’utilisateur doit entrer une note d’au moins 1 et de 5 au maximum.

Création de l’AppCategoryEntity

Pour vous rappeler comment nous utilisons les catégories d’applications, vous pouvez voir dans la figure 16 que le fait d’appuyer sur la cellule App Category en haut de la scène Write Review amène l’utilisateur à la scène App Category où il peut sélectionner une catégorie pour l’application. Actuellement, cette liste de catégories est codée en dur dans notre prototype d’application. Cependant, nous souhaitons modifier l’application afin d’afficher une liste dynamique de catégories d’applications que nous pourrons compléter à l’avenir en fonction des besoins.

Figure 16 – Vous pouvez sélectionner une catégorie dans la scène App Category .

Pour ce faire, nous devons créer une AppCategoryEntity qui peut être utilisée pour représenter les différentes catégories d’applications présentées dans la scène App Category .

  1. En bas de l’éditeur de modèle de données, cliquez sur le bouton Ajouter une entité pour ajouter une nouvelle entité au modèle.
  1. Dans l’inspecteur de modèle de données situé sur le côté droit de la fenêtre Xcode, changez le nom de la nouvelle entité en AppCategoryEntity et appuyez ensuite sur return .
  1. Ensuite, changez la Class en AppCategoryEntity . Là encore, cela indique le nom de la classe qui sera générée ultérieurement à partir de cette entité.
  1. Cette entité n’a que deux attributs, il est donc très facile de l’ajouter. L’entité AppCategoryEntity étant toujours sélectionnée, cliquez sur le bouton Add Attribute . Ensuite, allez dans l’inspecteur de modèles de données et définissez les propriétés suivantes :
  • Réglez le Nom sur categoryID .
  • Décochez la case Facultatif .
  • Définissez le type d’attribut à Integer32 .
  1. Pour ajouter le deuxième attribut, cliquez à nouveau sur le bouton Ajouter un attribut . Ensuite, allez dans l’inspecteur de modèles de données et définissez les propriétés suivantes :
  • Réglez le Nom sur nom .
  • Décochez la case Facultatif .
  • Définissez le type d’attribut à Chaîne .

Lorsque vous avez terminé, l’éditeur de modèle de données devrait ressembler à Figure 17 .

Figure 17 – Attributs de l’AppCategoryEntity

L’attribut name contient la description de la catégorie comme indiqué dans la liste des scènes de la App Category , et l’attribut categoryID contient une valeur entière qui identifie de manière unique chaque catégorie d’application. Souvent, vous pouvez laisser Core Data générer automatiquement ces valeurs entières uniques en utilisant des relations d’entités comme je l’ai fait dans le modèle de données d’entités dans mon précédent article. Lorsque nous parlerons des relations entre entités dans un prochain article, j’expliquerai pourquoi j’ai créé cet attribut manuellement.

Création de l’entité utilisateur

Nous devons maintenant créer notre entité finale, l’entité utilisateur . Cette entité est utilisée pour modéliser les utilisateurs de notre application.

  1. En bas de l’éditeur de modèle de données, cliquez sur le bouton Ajouter une entité pour ajouter une nouvelle entité au modèle.
  1. Dans l’inspecteur de modèle de données situé sur le côté droit de la fenêtre Xcode, changez le nom de la nouvelle entité en UserEntity et appuyez ensuite sur return.
  1. Ensuite, allez dans l’inspecteur de modèles de données et changez la classe en UserEntity.
  1. Ajoutez maintenant les attributs avec le nom et le type de données spécifiés, comme indiqué dans Figure 18 et, comme vous le faites, décochez le paramètre Facultatif pour chaque attribut.

Figure 18 – Attributs des UserEntity

Styles de l’éditeur de modèles de données

Jusqu’à présent, nous avons fait tout notre travail en visualisant l’éditeur dans son style Table. Maintenant qu’il y a trois entités sur le modèle, c’est un bon moment pour visualiser le modèle dans le style Graphique. Pour ce faire, cliquez sur le bouton droit dans le groupe de boutons Style de l’éditeur en bas de l’éditeur de modèle de données. Vous verrez alors les trois entités se superposer. Je vous recommande de faire glisser les entités sur le modèle afin qu’elles soient positionnées comme indiqué dans Figure 19 .

Figure 19 – Le modèle de données des entités vu dans le style graphique

Félicitations ! Vous avez créé votre premier modèle de données d’entités !

Conclusion

Dans ce blog, vous avez beaucoup appris sur la modélisation d’entités pour vos applications iOS. Dans mon prochain billet, je vous montrerai comment générer des classes Swift à partir de ces entités et les utiliser dans l’application !

<>

Leave a Comment