Lecture automatique
Complétion automatique
Partie précédente
Valider et continuer
Maîtriser la création d'apps iPhone
Introduction
Introduction (1:35)
Le forum (2:01)
Les bonus et réductions (1:26)
Obtenir les codes sources (4:00)
Certificat de complétion (3:04)
1.1 − Objectif : Bases de données
Objectif et plan (1:25)
Multi-écran et organisation du code (4:14)
Présentation de CocoaPods (4:40)
Configurer un projet pour Cocoapods (11:46)
1.2 − Notions de Swift 4
Utiliser guard en début de fonction (5:41)
Propriétés calculées (6:24)
Héritage : principes (4:04)
Héritage : syntaxe (5:28)
Héritage : redéfinitions (5:37)
Chainage d’optionnels (6:08)
Gestion des erreurs (7:42)
1.3 − UIKit
Créer un autre écran (4:09)
Présenter un autre écran (2:30)
Transférer des données d’un écran à l’autre (8:56)
Gérer le presse-papier (5:29)
UINavigationController (5:10)
UINavigationBar (4:47)
Unwind Segue (5:12)
1.4 − Bases de données
Les types de bases de données (9:14)
Présentation de Realm (3:36)
Installer Realm avec Cocoapods (1:35)
Définition des modèles (3:25)
Ajouter des objets dans la base de données (3:48)
Modifier et supprimer des objets (2:42)
Realm Browser (3:08)
Rechercher dans la base de données (3:49)
1.5 − APP : Safety First
Présentation de l’application (3:00)
Création du projet et configuration de Cocoapods (2:51)
La classe Credentials (5:13)
Le gestionnaire de Credentials (5:13)
Création d’objet Credential (3:23)
Obtenir des objets Credential (2:59)
Supprimer des objets Credential (2:24)
Création du CredentialListViewController (5:29)
Création du EditCredentialViewController (5:54)
Connexion des outlets (3:51)
Afficher l’écran de création (3:31)
Masquer l’écran de création (3:12)
Unwind segue et sauvegarde (4:40)
Affichage de la liste principale (3:46)
Ajout d’élément et rechargement de la table (4:30)
Ecran d’affichage de Credentials (4:41)
Outlets et code fonctionnel (3:58)
Navigation et transfert d’informations (6:40)
Gestion du presse-papier (3:21)
Finitions (6:01)
2.1 - Objectif : Téléchargement de données
Objectif et plan (1:24)
2.2 - Notions de Swift 4
Structures et classes (7:45)
Variables et fonctions statiques : théorie (4:36)
Variables et fonctions statiques en Swift (4:45)
Singleton (7:21)
Imbriquer les classes et structures (3:10)
Découper une chaîne de caractères en tableau (5:01)
2.3 - UIKit
UIAlertController (5:39)
UIAppDelegate : lancement de l’app (2:26)
2.4 - Communiquer avec le web via Alamofire
Les requêtes HTTP (5:45)
Présentation de Alamofire (4:46)
Déclencher une requête HTTP (3:34)
Traiter le résultat d’une requête HTTP (4:47)
Exemple concret (4:39)
2.5 - APP : Safety First avec téléchargement
Présentation des améliorations à apporter (1:14)
Présentation et téléchargement (2:09)
SecurityManager et Singleton (5:06)
Initier le chargement de la liste des mots de passes (2:46)
Traiter le résultat du téléchargement de la liste (5:10)
Analyser un mot de passe dans le SecurityManager (4:22)
Préparation de l’IHM (2:37)
Affichage du bouton d’avertissement en fonction du risque (3:28)
Affichage de l’alerte pour en savoir plus sur le risque (4:21)
3.1 - Objectif IHM dynamique
Objectif et plan (1:07)
3.2 - Notions de Swift 4
Fonctions mathématiques de la bibliothèque standard (3:41)
Générer un nombre aléatoire (5:16)
willSet et didSet (5:52)
Paramètres avec valeurs par défaut (2:11)
3.3 - UIKit
Les propriétés animables de UIView (6:12)
Animer les propriétés (6:30)
A propos des contraintes auto-layout (4:02)
Animer le changement de valeur constante (1:58)
Ressorts et inertie (4:21)
Transitions entre les vues (3:16)
UIPropertyAnimator (5:25)
safeAreaInsets (4:38)
3.4 - Tests Unitaires
Principes des tests unitaires (3:27)
Configurer son projet (4:18)
Premier test automatisé (6:50)
Développement orienté par les tests : TDD (4:18)
3.5 - APP : Nombre Mystère
Présentation de l’app à réaliser (3:35)
Projet et IHM minimale (5:35)
GameController (3:23)
GameControllerTests (5:41)
Premiers tests au vert (3:53)
Scenario de jeu simple (6:02)
Connexion de l’IHM avec le GameController (6:26)
Préparation des indices utilisateur (6:02)
Calculs des indices dans le GameController (3:52)
Affichage des indices utilisateur (3:24)
Préparation de la barre d’intervalle (4:22)
Affichage de la limite basse graphiquement (4:21)
Liaison storyboard et constantes (3:17)
Ratio points du jeu et points de l’écran (5:20)
Application des contraintes avec ratio (5:26)
Gestion des rotations d’écran (2:42)
Améliorations d’ergonomie (4:46)
Animations de la barre (8:12)
Animations de transitions (5:48)
Simplification de la gestion de la barre d’intervalle (11:52)
Génération du nombre aléatoire (6:49)
Correction et test de non régression (4:36)
4.1 − Objectif MapKit
Objectif et plan (2:00)
Swift : init optionnel (4:26)
Swift : les énumérations - partie 1 (4:30)
Swift : les énumérations - partie 2 (4:24)
4.2 - Les bases de MapKit
Configuration du projet (2:21)
MKMapView (5:23)
Gestion des coordonnées (3:01)
Placer la carte (3:21)
4.3 − GeoSwift
Choix de la source de données (3:11)
Installation de GeoSwift (6:47)
Préparation de l’URL et de App Transport Security (3:04)
Télécharger et traiter le GeoJSON (3:55)
4.4 − Les annotations dans MapKit
Le principe des annotations (5:51)
MKMarkerAnnotationView (8:28)
4.5 − APP : Busbus
Création de la classe du modèle (3:45)
Initialisation des objets depuis le json (9:46)
Personnalisation des vues (4:52)
Regrouper les annotations (4:11)
Personnalisation des regroupements (6:31)
Aller plus loin (3:28)
Prochains chapitres
Enregistrements en cours...
Installation de GeoSwift
Les documents sont verrouillés
Si vous êtes déjà inscrit,
veuillez vous authentifier
.
Inscrivez-vous au cours pour débloquer