La classe dans Swift est un type de référence, qui est en fait une étiquette de pointeur et myLabel pointe vers une adresse mémoire, donc ils changent la même chose C'est juste que le pointeur myLabel ne peut pas changer l'adresse vers laquelle il pointe 🎜>Vous pouvez essayer myLabel === label pour déterminer si les adresses sont les mêmes
Merci aux trois personnes formidables ci-dessus. struct et enum sont des types valeur (passage par valeur de copie) les objets d'instance de classe sont des types référence (pointeur de passage)
La classe dans Swift est un type de référence, qui est en fait une étiquette de pointeur et myLabel pointe vers une adresse mémoire, donc ils changent la même chose
C'est juste que le pointeur myLabel ne peut pas changer l'adresse vers laquelle il pointe
🎜>Vous pouvez essayer myLabel === label pour déterminer si les adresses sont les mêmes
label
etmyLabel
font référence au même objet, etlabel.text = “xx”
etmyLabel.text = “yy”
définissent tous deux la propriététext
de cet objet.Le transfert de types de valeur dans Swift est entièrement une copie, et le transfert de types de référence est entièrement une adresse
Merci aux trois personnes formidables ci-dessus.
struct et enum sont des types valeur (passage par valeur de copie) les objets d'instance de classe sont des types référence (pointeur de passage)