Nous allons maintenant écrire la logique de notre action pour modifier la citation !
Un peu de stratégie…
Pour que nous soyons tous d'accord, revoyons ce que nous allons faire. Le but est de construire des phrases du type : "Tu es le Steve Jobs de la raclette party". Cette phrase est découpée en trois parties :
Tu es
le Steve Jobs
de la raclette party
La partie 1 est fixe, mais les parties 2 et 3 doivent changer à chaque appui sur le bouton.
En image, voici ce que ça donne :
À chaque appui sur le bouton, on choisit aléatoirement un élément dans chaque tableau pour composer une phrase unique.
Pour y arriver, nous allons procéder en quatre étapes :
Nous allons apprendre à modifier le texte du label.
Nous allons créer nos tableaux.
Nous allons sélectionner un élément aléatoire dans chaque tableau.
Nous allons les combiner pour créer notre phrase.
Ça vous paraît faisable ?
Non.
Eh bien, on va le faire quand même !
Changeons le texte du label grâce à la documentation
On commence par le plus simple.
Le label, comme vous l'avez vu en le créant dans l'interface, est un objet qui a des propriétés. Pour rappel, voici une partie de ses propriétés :
Nous pouvons accéder à toutes ses propriétés dans le code ! Pour cela, rien de plus simple : il suffit d'écrire le nom de notre label suivi d'un point . puis du nom de la propriété.
Cela donne :
quoteLabel.nomDeLaPropriété
OK, mais je ne les connais pas les noms des propriétés du label !
C'est bien vrai. Mais il existe plusieurs façons de les trouver et je vais vous les montrer.
1. Avec Interface Builder
Si l’on reprend l'impression d'écran juste au-dessus, on constate que, par exemple, la propriété qui nous intéresse (celle qui permet de modifier le texte) a l'air de s'appeler Text
. Idem pour le nombre de lignes, la couleur, etc. C'est un premier indice.
2. Avec l'autocompletion
L'autocompleki ?
L'autocompletion, c'est la capacité d'un logiciel à vous suggérer la fin de votre mot ou de votre phrase au fur et à mesure que vous l'écrivez. Vous avez cela partout aujourd'hui : quand vous écrivez du texte avec votre iPhone, quand Google vous suggère des recherches, etc.
Xcode est capable de faire la même chose.
Avec notre première approche, nous supposons maintenant que la propriété qui nous intéresse se nomme text
. Essayons de taper cela :
Dès la première lettre tapée, Xcode nous suggère les propriétés qui commencent par la lettre t ou qui la contiennent. Cela nous confirme tout de suite que text
est bien une propriété du label. Et la description en bas de la pop-up nous confirme sa fonction : "Le texte affiché par le label".
3. L'inspection
Une fonctionnalité très pratique de Xcode nous permet d'avoir plus d'informations sur le code à l'écran. Pour cela, gardez la touche alt (ou option) enfoncée et cliquez sur le mot text
par exemple.
Xcode vous montre la documentation relative à la propriété text
. Cela nous donne plus d'informations sur la propriété et nous permet ici de confirmer que c'est bien la propriété que nous recherchons.
4. La documentation
La documentation, c'est la vie ! Pour y accéder, on utilise la même manipulation avec la touche alt (ou option) enfoncée. Par exemple, ici je cherche les propriétés de l'objet quoteLabel
:
5. Google
Vous avez beau avoir cherché, vous n'avez pas trouvé ! Au risque d'enfoncer des portes ouvertes, je me permets de vous rappeler que vous pouvez utiliser les moteurs de recherche. La communauté des développeurs étant (par déformation professionnelle ) très active sur le web, vous trouverez votre réponse.
Vous pouvez utiliser en particulier le site Stack Overflow, particulièrement incontournable pour sa communauté très active et le très grand nombre de réponses présentes dans la base.
Modifions notre label
Nous avons fait le plus dur, trouver le nom de la propriété. Maintenant, il ne nous reste plus qu'à lui assigner une nouvelle valeur :
quoteLabel.text = "Le texte du label est modifié !"
Vous pouvez lancer l'application avec le bouton Run (cmd+r). Essayez de cliquer sur le bouton "ET MOI ?" et vous devriez obtenir ceci :
En résumé
Pour chercher le nom d'une propriété, vous pouvez utiliser :
Interface Builder, en cherchant dans l'inspecteur d'attributs ;
L'autocompletion, qui vous suggère des propriétés au fur et à mesure que vous écrivez leur nom ;
L'inspection, en cliquant sur un mot avec la touche alt (ou option) enfoncée ;
En accédant à la documentation :
Grâce à l'inspection
Menu Window > Developer Documentation
Raccourci shift + cmd + 0
En cherchant sur Google (de préférenceen anglais).
Dans le prochain chapitre, vous allez apprendre à créer et utiliser des tableaux !