Dans le cours : L'essentiel de Swift 4

Définir les valeurs et les références - Tutoriel Swift

Dans le cours : L'essentiel de Swift 4

Démarrer mon mois d’essai gratuit

Définir les valeurs et les références

Dans Swift, il existe deux types de données : les types de références et les types de valeurs. Maintenant, tous les types de données de base sont implémentés en tant que structures. Ceci inclut des strings, characters, arrays, dictionaries, booleans, integers, et des nombres ou numbers. Nous avons également des énumérations qui sont également dans des types de valeurs. Il y a un type important appelé optional qui est implémenté comme une énumération. Ne vous inquiétez pas trop de la mémorisation de tout cela maintenant car nous allons entrer dans chacun d'eux individuellement. En ce qui concerne les types de références, les functions ou fonctions, les classes et les closures entrent dans cette catégorie. Lors de la réflexion sur les types de valeurs et références, il convient de se concentrer sur la manière dont ils sont passés ou attribués. Examinons un exemple pour illustrer comment les types de valeurs sont transmis. Imaginons que nous jouons à un jeu vidéo et que nous venons d'entrer dans un magasin. Maintenant, il y a des articles partout sur les étagères et le long des murs. Nous voyons une épée et c'est ce que nous voulons acheter. Comme l'épée représente un type de valeur dans cet exemple, nous n'allons pas acheter l'épée accrochée au mur. Au lieu de cela, le commerçant va nous donner notre propre épée qui est une copie identique à celle du mur. Voici comment les types de valeurs sont transmis par copie. Tout ce que nous faisons avec notre épée n'affecte en aucun cas celui de la boutique. On pourra la perdre, la briser, ou la laisser dans un fossé, l'épée sur le mur du magasin n'est pas affectée. Maintenant, lorsque nous nous référons à l'épée sur le mur par rapport à l'épée que je viens d'acheter, ce sont deux objets distincts. Comme leur nom indique, les types de références sont transmis par référence. Alors continuons avec l'exemple de jeu. Disons que j'ai un avatar de joueur représentant un type de référence dans cet exemple, qui existe dans certains univers de jeux. Chaque fois que quelqu'un interagit avec mon avatar, il interagit avec mon instance spécifique. Si je veux aller à une autre étape du jeu, mon avatar n'est pas copié à ce niveau. Au lieu de cela, une référence de l'avatar est transmise au niveau. Maintenant, tout ce qui arrive à mon avatar, n'importe où dans le jeu, l'affectera de manière permanente, car ce n'est pas une copie, mais la chose réelle. C'est ce que nous entendons par type de référence. Lorsque vous choisissez entre faire d'un objet une structure ou une classe dans votre code, demandez-vous si vous avez besoin d'un petit objet de données encapsulé, ou de quelque chose qui peut être une référence plutôt qu'une valeur copiée. Nous approfondirons ce sujet plus tard, lorsque nous examinerons les classes et les structures. Mais sachez que lorsque vous choisissez entre ces classes, vous pouvez toujours vous référer à la documentation Apple, elle fournit une excellente liste des avantages et des inconvénients de chacun.

Table des matières