• 12 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 26/02/2020

Tirez le meilleur de ce cours

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Bonjour et bienvenue dans ce cours sur la navigation et les formulaires en iOS ! Ensemble, nous allons découvrir comment créer plusieurs pages dans une application et comment organiser la navigation et la communication entre elles. Vous apprendrez aussi à créer des formulaires en vous appuyant sur des composants comme les champs de texte, les boutons switch, les sélecteurs et d'autres. Nous verrons même comment gérer le clavier et présenter des alertes aux utilisateurs.

Et bien sûr, j'ai prévu quelques surprises et autres bonus en chemin !

Meme fun d'une discussion entre deux hommes

Prérequis

Ce cours fait partie de tout un parcours sur le développement d'application iOS. Je vous suggère fortement d'y jeter un œil si vous souhaitez vous former et trouver un emploi en tant que développeur iOS.

Miawouf

Dans ce cours, nous allons développer une application de rencontre... pour chien et chat ! Cette application est baptisée Miawouf. Et nous allons nous concentrer sur la phase d'inscription. Car elle nous suffit pour découvrir tout ce qui est prévu dans ce cours !

Miawouf est divisée en deux, une inscription pour les chiens et une pour les chats. Et l'inscription se fait en trois pages :

  • une page d'accueil

  • un formulaire d'inscription

  • une page de confirmation

Les écrans de l'application Miawouf

Pour construire cette application avec moi, je vous ai préparé un petit dossier contenant les images dont vous allez avoir besoin pour le cours. Vous pouvez le télécharger ici.

Dans ce cours, il n'y a pas de projet Xcode à télécharger donc je vous invite à créer un projet vide, en choisissant le template le plus simple : Single Page Application. Vous pouvez déjà glisser les images et icônes dans les assets du projet et le fichier Races.swift dans votre navigateur de fichier.

Et voilà, vous êtes fin prêt à suivre ce cours.

Rappel sur le MVC

Avant de se lancer tête baissée dans nos différents sujets, je voudrais prendre un petit moment pour parler évidemment de MVC :D !

Pour rappel, en MVC, le modèle et la vue n'ont pas connaissance de l'existence l'un de l'autre et le contrôleur est le seul à pouvoir s'adresser directement à l'un et l'autre.

Schéma du MVC
Ce schéma vous dit quelque chose ?

Le modèle utilise généralement des notifications pour s'adresser au contrôleur et la vue utilise des actions. Ces deux modes de communication sont aveugles pour que la vue et le modèle puissent rester complètement indépendants du contrôleur.

Plusieurs MVCs

En iOS, un MVC correspond généralement à une page de l'application, ou en tout cas à un espace défini de l'écran. Donc pour chaque nouvelle page, on va avoir un nouveau MVC.

Mais du coup, comment communique-t-on entre MVCs ?

Quelle question parfaite ! Vous commencez à saisir l'importance de l'architecture, c'est beau...

Je vais résumer cela en trois règles simples :

1/ Une vue communique toujours avec un seul contrôleur.

Schéma de plusieurs MVCs

La gestion d'une vue n'est jamais répartie entre deux contrôleurs différents.

2/ Un modèle peut-être utilisé par plusieurs contrôleurs.

Schéma de plusieurs MVCs

À l'inverse de la vue, deux contrôleurs peuvent faire appel aux mêmes données. Par exemple, une classe du modèle peut gérer les utilisateurs et les informations concernant l'utilisateur ont des chances d'être utiles dans plusieurs pages. Donc, ce modèle peut être partagé par plusieurs contrôleurs.

3/ Les MVCs communiquent entre eux via le contrôleur.

Deux vues ne peuvent pas communiquer entre elles. De toute façon, il faut bien comprendre qu'une vue, c'est l'esclave d'un contrôleur donc elle n'irait jamais prendre l'initiative de parler avec qui que ce soit :).

Ce sont donc les contrôleurs qui permettent de faire des liens entre MVCs. Mais lorsqu'un contrôleur s'adresse à un autre contrôleur, il le fait d'une façon aveugle et structurée comme s'il s'agissait d'une vue.

Schéma de plusieurs MVCs

Pour vous souvenir de ces trois règles simples, il suffit de se souvenir de la logique du MVC :

  • Le modèle détient la logique, mais aussi les données de l'application. Donc ces informations doivent pouvoir être accessibles depuis plusieurs contrôleurs.

  • Le contrôleur a pour rôle principal la communication entre le modèle et la vue, il est donc logique qu'il soit aussi le centre de communication vers les autres MVCs.

  • La vue a pour seul rôle d'afficher ce qu'on lui demande, elle ne réfléchit pas et du coup n'est capable que de prendre les commandes d'un seul contrôleur. Il ne faut pas lui en demander plus !

Je pense que ça fait suffisamment de théorie pour le moment. Et si tout ça n'est pas parfaitement acquis, c'est normal. Tout va s'éclaircir lorsque vous verrez ce que ça donne concrètement dans le code. Et ce dès le prochain chapitre, où nous allons ajouter une barre de navigation dans notre application !

Exemple de certificat de réussite
Exemple de certificat de réussite