plan travail e2 ios
Post on 23-Dec-2015
59 Views
Preview:
DESCRIPTION
TRANSCRIPT
20.03.15 02:31gabriel.parriaux@vd.educanet2.ch - HEP Demo Groupe Test GP - Plan de travail
Page 1 sur 1https://www.educanet2.ch/wws/409129.php?mapping_id=14&sid=9934758700059945404268145815045200781131153456
HEP Demo Groupe Test GP - Plan de travail
Afficher Modifier Membres
Thème affiché Xcode - iOS an 2
Terminé Actions Titre Échéance Dernière modification
Exercice 01. Créer une première application
Exercice 01+. Créer une première application avec des nombres
Exercice 02. Créer une calculatrice simplifiée
Exercice 02+. Améliorer sa calculatrice simplifiée
Exercice 03. S'inscrire comme développeur
Exercice 04. Créer un certificat, le faire valider et l'installer
Exercice 05. Télécharger un profil d'approvisionnement et l'installer
05+. Sauvegarder son Profil de développement
Exercice 06. Dessiner dans une View
Exercice 07. Gérer l'auto-rotation et le zoom dans une application
Exercice 08. Déléguer la source de ses données et utiliser unGestureRecognizer qui modifie le modèle de son application
Exercice 09. Naviguer dans une application avec plusieurs Views
Exercice 09+. Ajouter une UIWebView à l'application Psychologist
Exercice 10. Naviguer en utilisant un modal Segue et la délégation
Exercice 11. Faire défiler le contenu d'une View à l'aide d'une UIScrollView
13. Intégrer du son et des images dans une application iOS
20.03.15 02:33gabriel.parriaux@vd.educanet2.ch - Plan de travail
Page 1 sur 4https://www.educanet2.ch/wws/408601.php?item_id=234752¬abs=1&sid=9934758700059945404268145815210200781131153456&enableautogrow=1
Objectif
Créer une application selon le schéma MVCDéfinir des propriétés dans le ControllerDéfinir et implémenter des méthodes dans le ControllerConstruire un modèleFaire communiquer son modèle avec le ControllerConcevoir une calculatrice simple qui permet d'additionner et de multiplier des nombres
........................................................................................................................................................
Plan de travail
Titre Exercice 02. Créer une calculatrice simplifiée
Thème Xcode - iOS an 2
Programmation iOS
Exercice 02. Créer une calculatrice simplifiéeConsignesCréation de la View et du ViewController:
1. Créer un nouveau projet de type Single View Application avec Xcode2. Vous allez reproduire une interface correspondant à l'image ci-dessous. Commencer par mettre un UILabel qui
affichera le résultat et les boutons numériques
20.03.15 02:33gabriel.parriaux@vd.educanet2.ch - Plan de travail
Page 2 sur 4https://www.educanet2.ch/wws/408601.php?item_id=234752¬abs=1&sid=9934758700059945404268145815210200781131153456&enableautogrow=1
3. Implémenter la méthode nombrePresse qui va afficher le nombre dans l'affichage lorsque l'utilisateur presse sur undes boutons numériques. Attention: lorsque l'utilisateur a déjà commencé à entrer un nombre, elle doit mettre à jourl'affichage avec le contenu déjà présent en ajoutant le nombre pressé à la suite de ceux déjà dans l'affichage.
4. Tester son application.5. Problème actuel: lorsque l'on commence à entrer un nombre, le chiffre 0 reste en tête de l'affichage (342 s'affiche
0342).6. Résoudre ce problème à l'aide d'une variable booléenne, une @property (nonatomic) BOOL
utilisateurEstEnTrainDEntrerUnNombre. Dans la méthode nombrePresse, on n'effectue la démarche décrite àl'étape 03 que lorsque l'utilisateur est en train d'entrer un nombre (variable booléenne: YES). Dans le cas contraire, onse contente de remplacer le contenu de l'affichage par le chiffre pressé.
7. Ajouter dans l'interface deux boutons pour les opérations + et *8. Créer la méthode operateurPresse qui sera appelée par Target-action lorsque l'on clique sur l'un de ces deux boutons.9. Ajouter dans l'interface un bouton Enter.
10. Créer la méthode enterPresse qui sera appelée par Target-action lorsque l'on clique sur Enter.
L'interface doit maintenant ressembler à cela:
20.03.15 02:33gabriel.parriaux@vd.educanet2.ch - Plan de travail
Page 3 sur 4https://www.educanet2.ch/wws/408601.php?item_id=234752¬abs=1&sid=9934758700059945404268145815210200781131153456&enableautogrow=1
Création du Model:
1. Créer un Model en ajoutant à son projet un nouveau fichier de type Classe Objective-C et le nommerCalculatorBrain.
2. Définir et implémenter deux méthodes publiques dans le modèle:
- (void)pushNombre:(double)nombre;
et
- (double)realiserOperation:(NSString *)operation;
3. Créer le stack qui recevra les nombres entrés par l'utilisateur sous forme d'une @property (nonatomic, strong)NSMutableArray *stackDeNombres;
4. Implémenter la méthode pushNombre: . Elle prend en paramètre une variable double (le nombre entré par l'utilisateuret affiché dans l'affichage), le convertit en NSNumber, puis le place sur le stack à l'aide de la méthode addObject:
5. Implémenter la méthode realiserOperation: . Distinguer les deux opérations + et * avec une structure de contrôle if ( ){ } else { }. Elle utilise une méthode popNombre pour chercher le nombre qui se trouve au sommet du stack. La
20.03.15 02:33gabriel.parriaux@vd.educanet2.ch - Plan de travail
Page 4 sur 4https://www.educanet2.ch/wws/408601.php?item_id=234752¬abs=1&sid=9934758700059945404268145815210200781131153456&enableautogrow=1
méthode popNombre n'existe pas encore à ce moment-là. Pas de soucis, nous le faisons à l'étape suivante :-). A la fin,cette méthode replace le résultat du calcul sur le stack avec la méthode pushNombre pour que l'on puisse continuer lecalcul à partir de ce résultat.
6. Implémenter la méthode popNombre: . On va chercher l'objet qui se trouve au sommet du stack à l'aide de la méthodelastObject: et le place dans un NSNumber. On supprime ensuite ce dernier objet du stack à l'aide de la méthoderemoveLastObject: pour pouvoir atteindre les nombres suivants.
Le Model est terminé.
1. Importer l'interface publique du Model dans le ViewController.2. Créer une @property (nonatomic, strong) CalculatorBrain *brain; dans l'interface privée de notre ViewController
pour disposer d'un pointeur vers le modèle.3. Implémenter le getter de cette @property et profiter d'y faire une lazy instanciation: on vérifie si brain a déjà été
créé. Si ce n'est pas le cas, on crée la variable d'instance et l'initialise avec CalculatorBrain *brain avec
_brain = alloc init">CalculatorBrain">alloc init;
4. Implémenter la méthode enterPresse qui s'exécute lorsque l'utilisateur presse sur Enter. Elle récupère le texte affichédans le display, le convertit en double, puis envoie au brain le message pushNombre: en lui passant ce nombre enparamètre.
5. Implémenter la méthode operateurPresse qui s'exécute lorsque l'on clique sur un des opérateurs. Elle envoie au brainle message realiserOperation: en lui passant en paramètre le titre du bouton qui a été pressé. Elle stocke le retour dece message dans une variable double. Elle crée une NSString de résultat avec cette variable numérique et l'affichedans le display.
AidesDémo de la création d'une calculatrice RPN, 1e partie (vidéo): http://www.scolcast.ch/podcast/69/423-2950
Démo de la création d'une calculatrice RPN, 2e partie (vidéo): http://www.scolcast.ch/podcast/69/423-2996
Démo de la création d'une calculatrice RPN, 3e partie (vidéo): http://www.scolcast.ch/podcast/69/423-3008
Eléments théoriques sur les structures de contrôle if else (pdf): http://www.scolcast.ch/podcast/69/423-2995
CorrigéCorrigé de l'exercice 02 (pdf): http://www.scolcast.ch/podcast/69/423-3162
Creative Commons | Gabriel Parriaux
StatutSignaler comme terminé
top related