Swift , iOS

Notes

Swift , iOS

 
0 Kudos
Don't
move!

@IBAction

Si on a @IBAction avant la fonction, la méthode est executée sans appel , IB signifie InterfaceBuilder

On l’utilise par exemple comme action sur un bouton

IBAction ne retournera jamais de valeur.

@IBOulet

Connecte une partie du controlleur à un objet via une variable

Exemple dans View Controlleur on aura

@IBOutlet weak var iwantLabel: UILabel!

Ensuite dans le bord on connecte le Controlleur à notre objet Label via l’outlet.

Il n’est pas possible de connecter un outlet sur un element qui se répète.

Fonctions utiles

abs() = donne la valeur absolue d’une opération , que la valeur soit positive ou négative , le résultat sera toujours positif.

Variables et constantes

On utilisera une variable quand son contenu sera susceptible de changer
On utilisera let lorsque le contenu de let ne sera pas modifié, c’est une constante

Variables locales

Elles existent pendant la durée de la méthode dans laquelle elle sont définies.

Instances variables

Elles existent pendant la durée de l’objet.

Astuces

Pour connaitre le type d’une variable dans le code , maintenir alt faire un hover sur la variable et clique gauche.

Les protocoles

On autorise l’écriture du code dans un standard bien précis. Une classe donnée devra implémenter certaines fonctions avec des paramètres spécifiques.

Accessory

Accessible dans le story board dans l’inspecteur d’attributs.

Ex d’application :

Dans une cellule on peut ajouter un checkmark grâce à l’accessory en sélectionnant la view cell on lui assigne comme accessory « Checkmark »

Méthodes

Paramètres underscore

Dans une méthode si on a un paramètre qui commente par un underscore cela signifie que l’on a pas a spécifier le nom de ce paramètre lors de l’appel de cette méthode. Généralement ce paramètre est identique au nom de la méthode.

ex:

func seeMap(_ seeMap: …)

Retour

Lorsqu’a la fin d’une fonction on a

()-> Int

Cela signifie que la valeur attendue de la fonction est un Int.

Si maintenant on a quelque chose du style :

-> Int?

Cela veut dire que l’on peut retourner soit un Int soit nil. Nil correspond a null. Le ? est donc optionnel.

Toutes les méthodes ne retournent pas forcément de valeur. Dans ce cas on s’arrete au parenthèse (). Même si dans ce cas Swift considérera que l’on retourne void, autrement dit rien.

Keyword

as! est un type cast qui permet d’affecter à un objet un type différent

Delegate

Soit deux objets A et B , l’objet A est le délégué de l’objet B, et l’objet B renvoi des messages à l’objet A.

Pour définir un delegate/

  • Définition du protocol de l’objet B
  • Donner à l’objet b une variable delegate optional weak
  • Mettre à jour l’objet B pour envoyer des messages à son Delegate ( Objet A ) lorsque quelque chose est déclenché. Par exemple sur un button close d’une vue. On écrit delegate?methodName(self,...)
  • Mettre l’objet A conforme à l’objet au delegate protocole en implémentant les méthodes du delegate
  • Enfin dans l’objet B on fait une référence à l’objet A