0% ont trouvé ce document utile (0 vote)
476 vues27 pages

Swift

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1/ 27

rudy de visscher

Découvrez le lANGAGe

wift
ce livre a été rédigé pour permettre à n’importe qui d’apprendre le langage de programmation
couvre
SWIFT 2
Swift, conçu pour développer des applications iPhone, iPad, iPod Touch ou encore Mac oS X.
De ce fait, aucune connaissance préalable n’est nécessaire. un parfait débutant saura très bien
à la fin de ce livre programmer dans ce langage. Deux TP sont également proposés pour mettre
en pratique vos nouvelles connaissances.
rudy de visscher

Qu’allez-vous apprendre ? À propos de l’auteur


Déjà titulaire d’un DUT informatique ainsi que
E

SWIFT
Les bases de la programmation Swift
d’une licence informatique, Rudy de Visscher
• Installation des outils de développement est actuellement étudiant en première année
• Les variables et opérateurs de master informatique, sur un parcours
ISIDIS (Ingénierie des systèmes informatiques
• Les conditions et les boucles
distribués). Depuis son plus jeune âge, il est
• Les tableaux et les dictionnaires passionné de nouvelles technologies et c’est
• Les fonctions et les closures au collège qu’il a commencé à apprendre en

SWIFT
autodidacte la programmation (principalement
• TP : une mini-calculette web), en créant ses premiers sites. C’est
également à partir de là qu’il a décidé de faire
La programmation orientée objet de sa passion son métier.

E
en Swift
• Programmation orientée objet
L’esprit d’OpenClassrooms
• Les classes et les structures
Des cours ouverts, riches et vivants, conçus
• L’héritage et les protocoles
pour tous les niveaux et accessibles à
• Les énumérations tous gratuitement sur notre plate-forme
• Retour sur les types et variables d’e-éducation : www.openclassrooms.com.
Vous y vivrez une véritable expérience
• Les extensions
communautaire de l’apprentissage, permettant à
• TP – Un jeu de combat (RPG) chacun d’apprendre avec le soutien et l’aide des
autres étudiants sur les forums. Vous profiterez
des cours disponibles partout, tout le temps : sur
le Web, en PDF, en eBook, en vidéo…
ISBN : 978-2-212-14397-3
Code éditeur : G14397

19,90 E

Couverture : Studio Eyrolles © éditions Eyrolles

G14397DecouvrezLeLangageSwift.indd 1 27/05/2016 14:46


rudy de visscher
Découvrez le lANGAGe

wift
ce livre a été rédigé pour permettre à n’importe qui d’apprendre le langage de programmation
couvre
SWIFT 2
Swift, conçu pour développer des applications iPhone, iPad, iPod Touch ou encore Mac oS X.
De ce fait, aucune connaissance préalable n’est nécessaire. un parfait débutant saura très bien
à la fin de ce livre programmer dans ce langage. Deux TP sont également proposés pour mettre
en pratique vos nouvelles connaissances.
rudy de visscher

Qu’allez-vous apprendre ? À propos de l’auteur


Déjà titulaire d’un DUT informatique ainsi que
E

SWIFT
Les bases de la programmation Swift
d’une licence informatique, Rudy de Visscher
• Installation des outils de développement est actuellement étudiant en première année
• Les variables et opérateurs de master informatique, sur un parcours
ISIDIS (Ingénierie des systèmes informatiques
• Les conditions et les boucles
distribués). Depuis son plus jeune âge, il est
• Les tableaux et les dictionnaires passionné de nouvelles technologies et c’est
• Les fonctions et les closures au collège qu’il a commencé à apprendre en

SWIFT
autodidacte la programmation (principalement
• TP : une mini-calculette web), en créant ses premiers sites. C’est
également à partir de là qu’il a décidé de faire
La programmation orientée objet de sa passion son métier.

E
en Swift
• Programmation orientée objet
L’esprit d’OpenClassrooms
• Les classes et les structures
Des cours ouverts, riches et vivants, conçus
• L’héritage et les protocoles
pour tous les niveaux et accessibles à
• Les énumérations tous gratuitement sur notre plate-forme
• Retour sur les types et variables d’e-éducation : www.openclassrooms.com.
Vous y vivrez une véritable expérience
• Les extensions
communautaire de l’apprentissage, permettant à
• TP – Un jeu de combat (RPG) chacun d’apprendre avec le soutien et l’aide des
autres étudiants sur les forums. Vous profiterez
des cours disponibles partout, tout le temps : sur
le Web, en PDF, en eBook, en vidéo…

G14397DecouvrezLeLangageSwift.indd 1 27/05/2016 14:46


Découvrez le LANGAGE

SWIFT

G14397DecouvrezLeLangageSwiftPDT.indd 1 26/05/2016 11:13


Rudy de Visscher

Découvrez le LANGAGE

SWIFT

G14397DecouvrezLeLangageSwiftPDT.indd 3 27/05/2016 14:11


ÉDITIONS EYROLLES
61, bd Saint-Germain
75240 Paris Cedex 05
www.editions-eyrolles.com

En application de la loi du 11 mars 1957, il est interdit de reproduire intégralement ou partiellement le


présent ouvrage, sur quelque support que ce soit, sans l’autorisation de l’Éditeur ou du Centre Français
d’exploitation du droit de copie, 20, rue des Grands Augustins, 75006 Paris.

© Groupe Eyrolles, 2016. ISBN Eyrolles : 978-2-212-14397-3


© OpenClassrooms, 2016
Avant-propos
L’auteur a eu envie d’écrire ce cours sur Swift alors qu’il découvrait et apprenait de
façon autodidacte ce langage.
Étant membre et adepte des cours sur OpenClassrooms, il a pu constater son absence
sur le site. Il a alors décidé de prendre le sujet en main et de s’atteler à ce cours pour
aider les futurs membres qui, comme lui, souhaitent apprendre en toute simplicité, et
en français. Lorsqu’il a préparé ce cours, il y avait très peu de documentation française,
et encore moins de méthodes d’apprentissage complètes sur ce langage.

À qui s’adresse cet ouvrage et comment le lire ?

Ce livre a été rédigé pour permettre à n’importe qui d’apprendre le langage de pro-
grammation Swift. De ce fait, aucune connaissance préalable n’est nécessaire. Un parfait
débutant saura très bien à la fin de ce livre programmer dans ce langage.
Le livre se scinde en deux grandes parties. La première partie vous enseignera les bases
de la programmation Swift : vous y apprendrez tous les éléments nécessaires pour
n’importe quel langage de programmation : comment gérer des cas différents, comment
stocker l’information de façon intelligente et la traiter simplement, et enfin, comment
automatiser certaines tâches. La seconde partie vous expliquera la « programmation
orientée objet » en Swift. Tout en réutilisant les notions de la première partie, vous y
découvrirez cette méthode de programmation efficace et incontournable.
L’auteur conseille vivement aux débutants comme aux lecteurs ayant de l’expérience
en programmation de lire le livre dans l’ordre chronologique. Les chapitres sont en effet
dépendants les uns des autres. À chaque chapitre, les notions traitées dans les chapitres
précédents ont été mises en pratique et de nouvelles ont été introduites. Cela permet
de mieux apprendre et, surtout, en douceur. En outre, de nombreuses précisions et
astuces de la première partie aideront les lecteurs lorsqu’ils aborderont la deuxième
partie de l’ouvrage, un peu plus pointue.
Découvrez le langage Swift

Que saurez-vous faire à la fin de cet ouvrage ?

À chaque fin de partie, un TP vous est proposé afin de mettre en pratique vos nouvelles
connaissances. À la fin de la première partie, vous saurez créer une mini-calculatrice
sans interface graphique. À la fin de la seconde, vous réaliserez un jeu de combat (RPG)
sans interface graphique.
Ce cours est conçu de façon à permettre de s’approprier le langage Swift. De ce fait,
vous ne saurez pas encore concevoir des applications iOS ou OS X. En revanche, vous
aurez assez de connaissances pour apprendre aisément à le faire. Cet ouvrage vous y
prépare en douceur.

À propos de l’auteur

Déjà titulaire d’un DUT informatique ainsi que d’une licence informatique, Rudy de
Visscher est actuellement étudiant en première année de master informatique, sur un
parcours ISIDIS (Ingénierie des systèmes informatiques distribués). Depuis son plus
jeune âge, il est passionné de nouvelles technologies et c’est au collège qu’il a com-
mencé à apprendre en autodidacte la programmation (principalement web), en créant
ses premiers sites. C’est également à partir de là qu’il a décidé de faire de sa passion
son métier.
Table des matières
Introduction 1

Première partie – Les bases de la programmation Swift 3

1 Présentation de Swift 5
Swift, qu’est-ce que c’est ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Installation des outils de développement 7


Programmer en Swift avec Xcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Installer Xcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Utiliser Xcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Les variables et opérateurs 15


Les commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Commentaire sur une seule ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Commentaire sur plusieurs lignes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Les variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Déclarer une variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Affecter une valeur à une variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Les types de valeurs qu’on peut associer à une variable . . . . . . . . . . . . . . . . . . . . 18
Associer un type précis à une variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Les constantes : des variables spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Découvrez le langage Swift

Les tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Les opérateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Les opérations de base : addition, soustraction, multiplication et division . . . . . . . . 22
Le modulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
D’autres opérations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Concaténer des variables et convertir un type . . . . . . . . . . . . . . . . . . . . . . . . . 24
Concaténer deux variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Convertir un type de variable en String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Pour résumer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4 Les conditions 27
Condition : if...else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Condition avec uniquement un if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Condition if...else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Condition if...else if...else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Les conditions multiples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Les booléens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Combiner des conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Switch : quand il y a beaucoup de conditions . . . . . . . . . . . . . . . . . . . . . . . . . 34
Les conditions ternaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Pour résumer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5 Les boucles 39
Qu’est-ce qu’une boucle ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
La boucle while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
La boucle repeat...while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
La boucle for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
En incrémentant de 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
En incrémentant d’un nombre différent de 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Pour résumer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

6 Les tableaux et les dictionnaires 45


Les tableaux numérotés et les dictionnaires . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Les tableaux numérotés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Les dictionnaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Parcourir un tableau ou un dictionnaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Première approche : la boucle for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Deuxième approche : la boucle for...in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Parcourir un tableau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Parcourir un dictionnaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

VIII
Table des matières

Rechercher dans un tableau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51


Ma méthode de recherche dans un tableau . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Pour résumer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

7 Les fonctions et les closures 55


Qu’est-ce qu’une fonction ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Exemple de fonction à créer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Vous avez déjà utilisé une fonction ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Créer et utiliser ses propres fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Fonctions sans paramètre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Fonctions avec paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Fonctions avec un retour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Une fonction comme paramètre ou type de retour . . . . . . . . . . . . . . . . . . . . . . . 59
Les closures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Pour résumer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

8 TP : une mini-calculette 63


L’énoncé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Principe du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Demander à l’utilisateur d’entrer un nombre . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
C’est tout ! Pour le moment… . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
La correction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Les variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
La boucle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Améliorations possibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Deuxième partie – La programmation orientée objet en Swift 69

9 Programmation orientée objet 71


Programmer autrement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Qu’est-ce qu’un objet ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Qu’est-ce qu’une classe ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

10 Les classes et les structures 75


Créer une classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Où placer les classes dans le code ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Définir une classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Les attributs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Les méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

IX
Découvrez le langage Swift

Créer un objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Déclarer un objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Utiliser un objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
La surcharge de méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Le constructeur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Les structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Pour résumer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

11 L’héritage 89
Réaliser un héritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Le polymorphisme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Pour résumer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

12 Les protocoles 95
Créer un protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Utiliser un protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
L’héritage et les protocoles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Pour résumer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

13 Les énumérations 99
Avant les énumérations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
L’énumération avec enum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Utiliser un enum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Traiter les cas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Valeurs associées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Après l’énumération . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Pour résumer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

14 Retour sur les types et variables 105


Les variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Int . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Les tableaux et dictionnaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Les optionnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Pour résumer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

15 Les extensions 111


Syntaxe d’une extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

X
Table des matières

Ajouter de nouveaux attributs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112


Ajouter un nouveau constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Ajouter de nouvelles méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Pour résumer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

16 TP – Un jeu de combat (RPG) 117


L’énoncé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Principe du jeu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Classe Personnage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Classe Arme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Ré-utiliser la fonction input() du premier TP ! . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Trace d’exécution d’une partie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
La correction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Personnage.swift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Arme.swift, Arc.swift, Epee.swift, Sceptre.swift . . . . . . . . . . . . . . . . . . . . . . . . . . 125
main.swift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Améliorations possibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

Index 127

XI
Introduction
Bienvenue dans ce cours qui vous fera découvrir le nouveau langage qu’est Swift.
Pourquoi êtes-vous à l’instant même en train de lire ces lignes ? Par simple curio-
sité, peut-être : vous avez entendu parler du nouveau langage de programmation
proposé par Apple et vous voulez en savoir un peu plus. Ou, tout simplement, vous
souhaitez apprendre ce langage afin de vous familiariser avec et faciliter vos futurs
développements.
C’est le lundi 2 juin 2014, lors la conférence WWDC 2014 (Apple Worldwide Developers
Conference) qu’a été annoncé le nouveau langage Swift. Il s’agit de la conférence
annuelle la plus importante pour les développeurs iOS. Swift est principalement dédié
à la réalisation d’applications iPhone, iPad, iPod Touch ou encore Mac OS X. Apple
présente ce langage comme rapide, moderne, simple, performant et facile d’utilisation.
De ce fait, son apprentissage par un débutant se fera beaucoup plus facilement qu’avec,
par exemple, le C, C++, Java, PHP, etc.
Vous souhaitez apprendre ce langage ? Vous envisagez par la suite de vous mettre au
développement OS X ou iOS ? Vous voulez mettre vos vieilles applications à jour sous
Swift, mais vous ne connaissez pas la syntaxe du langage ? Découvrez comment faire
dans ce cours !

Attention ! Ce cours s’adresse aux possesseurs de Mac OS X sous Mavericks 10.10.4

! minimum ou Yosemite. Vous serez capable à la fin de ce cours de comprendre et


programmer du code Swift, mais vous ne pourrez pas développer d’applications pour
Mac OS X ou encore iOS. Il s’agit ici de découvrir le langage avant tout.

Sachez que, dans ce livre, je pars de zéro ! Vous comprendrez de façon progressive et
sûre. Et, je vous le garantis, le cours sera très simple si vous avez la volonté d’apprendre.
Je vous souhaite bon courage et bonne lecture !
Première Partie

Les bases
de la programmation Swift
1 Présentation
de Swift
Pour ce premier chapitre, je ne vais pas attaquer directement l’apprentissage du lan-
gage, mais je vous propose plutôt de le découvrir. Comment est-il arrivé là et pourquoi ?
Dans quel but ? C’est ici que je répondrai à toutes ces questions.

Swift, qu’est-ce que c’est ?


Citation d’Apple :
Swift est un nouveau langage de programmation, à la fois puissant et intuitif,
créé par Apple pour l’élaboration d’apps iOS et Mac. Il est conçu pour offrir
aux développeurs toute la liberté et les capacités nécessaires pour produire
la prochaine génération d’apps. Il ouvre à tous, développeurs ou non, tout un
monde de possibilités. Swift est un langage facile à apprendre et à utiliser, même
si vous n’avez jamais codé. Alors, si vous avez une idée d’app vraiment géniale,
concrétisez-la avec Swift.
Swift a été développé afin de faciliter la réalisation des applications. En effet, il est
beaucoup plus rapide, plus concis, plus simple que l’Objective-C, langage jusque-là
incontournable pour réaliser des applications iOS ou OS X (c’est-à-dire pour iPhone,
iPad, iPod Touch ou encore Mac OS X). Swift est son successeur, et a d’ailleurs été
annoncé comme « de l’Objective-C mais sans le C ». Il est néanmoins toujours possible
aujourd’hui de développer des applications en Objective-C, ce qui fait que les deux
langages coexistent.
Avec Swift, vous écrirez toutefois moins de lignes de code, vous utiliserez moins de
fichiers et vous disposerez d’une syntaxe facile à comprendre. Cette dernière a été
conçue de façon à ce qu’un débutant puisse rapidement prendre ses marques.
Première Partie – Les bases de la programmation Swift

Historique

Tout a commencé avec Chris Lattner, informaticien américain chez Apple depuis 2005.
Il supervise le département Developer Tools.
Le développement de Swift commence en juillet 2010. Chris Lattner implémente alors
la structure basique du langage et prend ses sources dans de nombreux langages de
programmation tels que Objective-C, mais encore Haskell, Ruby, Python ou C#.
La première version publique de ce langage a été présentée le 2 juin 2014 lors de
la WWDC.

SWIFT 3 ATTENDU FIN 2016

Selon Apple, la version 3.0 de Swift devrait voir le jour en fin d’année 2016. Cette nouvelle
mise à jour majeure est l’occasion pour la firme à la pomme de réaliser une refonte d’une
partie de ce langage. Apple précise néanmoins que la version 3.0 ne sera pas « source
compatible » avec les versions antérieures de Swift. Cela signifie qu’il faudra modifier le
code de vos applications pour le rendre compatible avec Swift 3.
2
Installation
des outils
de développement
Vous souhaitez maintenant passer à quelque chose de plus intéressant : l’apprentissage
du langage. Toutefois, une question devrait vous traverser l’esprit : « De quoi a-t-on
besoin pour programmer en Swift ? »
C’est justement le sujet de ce chapitre. Je vais vous présenter Xcode, le logiciel néces-
saire pour programmer en Swift, et vous indiquer comment l’utiliser.

Programmer en Swift avec Xcode

? N’existe-t-il qu’un seul logiciel pour programmer en Swift ?

Je vais sûrement en décevoir quelques-uns mais... oui ! Xcode est pour le moment un des
seuls logiciels permettant la programmation en Swift, pour la simple et bonne raison que
Swift est prévu pour développer des applications iOS et OS X. De ce fait – et je vais peut-être
encore perdre des lecteurs ! –, il faut obligatoirement une machine tournant sous Mac OS X.
Il existe d’autres logiciels permettant de développer sous Swift, mais je ne les présenterai
pas ici, car Xcode est bien plus complet et est pleinement opérationnel pour ce langage.
Il offre de plus de quoi grandement vous aider lors de l’écriture de votre programme.
Swift étant arrivé très récemment (et plus particulièrement la deuxième version), il
vous faudra disposer d’une des dernières versions de Xcode (la 7 ou plus) prenant en
compte le langage Swift dans sa version 2 et, pour installer Xcode 7 ou plus, il vous
faudra disposer de la version OS X Mavericks 10.10.4 minimum ou Yosemite.

Pour ceux n’ayant pas ces versions, rien ne vous empêche de suivre le cours et de le
comprendre. Qui sait ?
Première Partie – Les bases de la programmation Swift

Xcode est un environnement de développement pour OS X et iOS. Il est connu pour


sa simplicité et, surtout, pour ses astuces accélérant le développement. Il permet de
créer des logiciels, mais ce ne sera pas ici notre but.
Il est possible que Xcode soit pré-installé sur votre Mac. Sinon, vous pourrez vous le
procurer gratuitement sur l’App Store.

Installer Xcode

Dans la suite de ce cours, nous utiliserons la dernière version de Xcode au jour où


j’écris ces lignes, à savoir la version 7.0.

N’ayez pas peur si vous avez une version supérieure à la 7.0, les changements ne seront
que minimes. En revanche, il faut obligatoirement la 7.0 ou plus.

Rendez-vous donc dans un premier temps sur l’App Store.

Figure 2-1 – App Store

Une fois dans l’App Store, trouvez la barre de recherche et tapez-y xcode (indiqué
par l’annotation (1) sur la figure 2-2). Vous aurez alors plusieurs choix. L’application
qui nous intéresse est bien évidemment Xcode ; il ne vous reste plus qu’à cliquer sur
Installer ((2) sur la figure 1-2).

Figure 2-2 – Recherche de Xcode dans l’App Store

8
Chapitre 2. Installation des outils de développement

Le téléchargement se lance, ce que vous pouvez confirmer en regardant votre


Launchpad.

Figure 2-3 – Téléchargement de Xcode

Xcode pèse 3,59 Go dans sa version 7.0. Armez-vous de patience, prenez un café,
regardez un film, bref le téléchargement prendra un peu de temps. L’installation en
elle-même est toute simple puisqu’elle va s’effectuer toute seule sans intervention de
votre part.

Figure 2-4 – Installation de Xcode

Utiliser Xcode

Maintenant que nous avons installé Xcode, il est temps de le lancer et de voir de plus
près à quoi il ressemble. Allez dans le Finder, partie Applications et lancez Xcode.

9
Première Partie – Les bases de la programmation Swift

Figure 2-5 – Xcode dans le Finder

La fenêtre Welcome to Xcode apparaît, vous y verrez le numéro de version de votre


Xcode sous le logo. Avec cette fenêtre, vous pourrez décider de créer vos projets Swift
ou bien continuer vos projets existants.

Figure 2-6 – Lancement de Xcode

Petit détail : Xcode est en anglais. Rien de bien méchant, suivez bien ce cours et même
les anglophobes n’auront pas trop de soucis.
Pour l’exemple, nous allons créer un projet qui contiendra un programme basique
affichant un simple « Hello World ! » à l’écran. Notre seule interface pour la
programmation sera... une console ! Vous allez voir ça tout de suite.
Cliquez sur Create a new Xcode project. Une nouvelle fenêtre apparaît. Sur le
côté gauche, partie OS X, cliquez sur Application. Sur la partie droite, cliquez sur
Command Line Tool.

10
Chapitre 2. Installation des outils de développement

Figure 2-7 – Création d’un projet pour Swift

Cliquez sur Next, tout en bas, et vous devrez remplir quelques champs.

Figure 2-8

Product Name est le nom de votre projet. Ici, nous allons l’appeler HelloWorld.
Organization Name est le nom de votre organisation. Mettez-y tout simplement votre
nom de compte ou votre prénom ou encore votre pseudo.
Organization Identifier est un numéro identifiant votre organisation. Saisissez ce
que vous voulez.

11
Première Partie – Les bases de la programmation Swift

Language est le langage que vous souhaitez utiliser pour votre programme. Sélectionnez
donc Swift dans la liste déroulante.
Cliquez sur Finish et vous voilà arrivé dans l’interface de Xcode !

Figure 2-9 – Interface de Xcode à son lancement

Vous apercevez maintenant deux menus (un de chaque côté) et une fenêtre principale
(au centre). Sachez que le menu de droite vous servira uniquement pour développer
des applications iOS ou OS X, nous ne l’utiliserons donc pas dans ce cours. Je vous
propose donc de le cacher afin de gagner de l’espace et de la visibilité. Cliquez sur
l’icône située tout en haut à droite.

Figure 2-10 – Cacher le menu de droite

Vous voici maintenant prêt à programmer en Swift !


La validation du projet a automatiquement créé un fichier Swift, appelé main.swift.

? Pourquoi « main » comme nom ?

Par convention, main est le fichier principal... C’est là qu’à peu près tout doit se passer ;
vous comprendrez de vous-même en continuant ce cours. Pour accéder à ce fichier,
rendez-vous dans le menu de gauche et cliquez sur main.swift.

12
Chapitre 2. Installation des outils de développement

Figure 2-11 – Le fichier main.swift

Je ne vais pas vous expliquer tout ce code tout de suite, mais juste la ligne principale :

print("Hello, World !")

Cette ligne va tout simplement afficher dans votre console la phrase Hello, World !.
print est ce qu’on appelle une fonction. Je ne vais pas définir ici ce que c’est, mais
un chapitre y sera entièrement consacré. Retenez que tout ce que vous placerez entre
les parenthèses sera affiché dans votre console.
Mais qu’est-ce que la console ? Je vous propose d’exécuter ce programme et de voir
ce qui se passe. Cliquez sur le bouton d’exécution , au-dessus du menu de gauche.
Que s’est-il passé ? Si vous observez bien, dans la fenêtre principale qui est au centre,
vous constatez que quelque chose s’est affiché en bas !

Figure 2-12 – Exécution du « Hello, World ! »

Vous venez de réaliser votre tout premier programme en Swift. Bon d’accord, cela n’a
rien de bien exceptionnel pour le moment, mais rendez-vous au chapitre suivant pour
en apprendre davantage !

13

Vous aimerez peut-être aussi