Overblog Suivre ce blog
Editer l'article Administration Créer mon blog
27 septembre 2010 1 27 /09 /septembre /2010 13:00

Bonjour à tous,

 

Voici un petit article d'introduction à la programmation d'applications sur iPhone/iPod Touch/iPad. Si vous avez des notions de programmation sur les plateformes Mac ou NextStep, vous verrez que cela n'est pas très différent. Question équipement, vous aurez besoin d'un Mac sous OS X 10.5 minimum.Vous aurez besoin d'avoir installé les outils de développement présents sur le DVD d'installation de Mac OS et le SDK iPhone/iPad disponible sur http://developer.apple.com

 

Niveau connaissances, des notions de programmation orientée objet sont indispensables. Il faut connaître le motif de conception MVC (Modèle Vue Contrôleur), qui est très utilsé par Cocoa. Connaître Objective C, ou au moins Java est très utile.

Création d'un nouveau projet

Ouvrez XCode, choisissez de créer un nouveau projet. Dans l'assistant de nouveau projet, choisissez une cible "iPhone OS Application", et "View-based Application" dans la liste de gauche :

 

helloworld1

 

Choisissez un nom pour le projet (ici, j'ai mis HelloWord). L'assistant vous crée toute une liste de fichiers nécessaires à votre application :

 

helloworld2

 

Quelques remarques sur les fichiers importants :

  • La classe HelloWorldAppDelegate est le délégué à la classe NSApplication. Elle contient les méthodes de spécialisation de la logique de votre application.Contrairement à Java, on dérive très peu avec Objective-C et Cocoa, on délègue.
  • La classe HelloWorldViewController est le contrôleur lié à la fenêtre principale de votre application. C'est dans celle-ci que vous gérerez les évènements lié à l'interface.
  • Le fichier HelloWorldViewController.xib est un fichier Interface Builder, l'application qui permet de gérer l'interface de votre application de manière graphique.

Gestion de l'interface graphique

Notre interface sera constituée d'une vue unique avec un bouton. Lors du clic sur celui-ci, le message "Hello, World" s'affichera sur l'écran. Ouvrez le fichier HelloWorldViewController.h, il contient l'interface du contrôleur de notre vue. Nous avons besoin de la personnaliser afin qu'elle référence un champ texte (label) et ajouter la méthode d'évènement du clic sur le bouton. Complétez la classe de cette manière :

 

helloworld3

 

IBOutlet et IBAction sont utilisés par Interface Builder pour reconnaître des types qu'il doit prendre en compte. IBOutlet désigne un élément de l'interface (bouton, champ texte, liste, etc.) et IBAction un gestionnaire d'évenement. Une IBAction prend toujours un paramètre sender de type id, qui est un pointeur vers l'objet à l'origine de l'évenement. En pratique IBOutlet est une macro préprocesseur vide et IBAction un typedef vers void.

 

Dans le fichier HelloWorldViewController.m, nous allons rajouter l'implémentation de la méthode onButtonClick :

 

helloworld4

 

Rien de bien compliqué, on envoie le message setText à l'objet pointé par lblHello, afin de lui faire afficher la phrase "Hello, world". N'oubliez pas l'arobase devant les guillemets, celà indique que la chaîne est un objet NSString codé en UTF-16, plutôt qu'un tableau de caractères terminé par un 0, comme en C.

 

Personnalisation de l'interface graphique

Double-cliquez maintenant sur le fichier HelloWorldViewController.xib. Cela va lancer Interface Builder, l'application dédiée à la création d'interfaces. Le fichier contient trois objets : Une référence vers le contrôleur que nous venons de modifier sous l'appellation "File's Owner", une autre référence (inutile dans notre cas) et une vue (la fenêtre de notre application) :

 

helloworld5

 

Ouvrez la vue, et glissez-déposez un label et un bouton sur votre vue. J'ai mis "Say hello" comme titre de mon bouton :

 

helloworld6

 

Selectionnez maintenant l'objet "File's owner". Maintenez le bouton Ctrl : le curseur de votre souris vous permet de tracer une ligne. Cela permet d'indiquer les objets vers lequels les pointeurs à l'intérieur de votre contrôleur vont pointer. Reliez le "File's owner" au label : une bulle s'ouvre, listant tous les pointeurs vers des UILabel de votre contrôleur. Il n'y en a qu'un seul : le champ lblHello. Selectionnez-le. À l'exécution, le champ lblHello pointera alors vers le label à l'intérieur de la vue.

 

helloworld7

 

Maintenant recommencez l'opération, en partant du bouton et en le reliant à votre File's owner. Cette fois, vous avez le choix de la méthodé à déclencher lors du clic sur le bouton. Sélectionnez la méthode onButtonClick.Cette méthode sera maintenant déclenchée lors du clic sur le bouton.

 

helloworld8

 

Selectionnez à nouveau le UILabel et effacez son texte, afin qu'il ne soit pas visible au démarrage de l'application. Sauvegardez le fichier .xib via le menu File/Save. Vous pouvez maintenant quitter Interface Builder et revenir à la fenêtre XCode. Cliquez sur le bouton "Build and Run" en haut de la fenêtre de votre projet. Vous verrez alors votre application se lancer dans le simulateur iPhone :

 

helloworld9

 

Conclusion

Nous avons vu aujourd'hui les bases de la programmation d'applications sur iPhone/iPod Touch/iPad. Vous avez appris à créer un projet, vous avez vu les composants de base d'une application : la vue et le contrôleur. Vous avez appris à écrire des gestionnaires d'évènements et à lier des éléments d'interface à votre code afin de les manipuler depuis celui-ci. Vous pouvez maintenant vous entraîner à rajouter des contrôles et autres éléments d'interface et à réagir à leur évènements.

 

Merci de votre attention.

Partager cet article

Repost 0
Published by Olivier - dans Programmation
commenter cet article

commentaires

Présentation

Recherche

Liens