Je lisais le comptage automatique de référence et initializers et deinitializers et je faisais ci-dessous pratiquemécanisme de référence comptage automatique
class person
{
var first_name:String?
var last_name:String?
init(firstname name:String,lastname lastname:String) {
first_name = name
self.speciality = speciality
}
deinit {
print("object destroyed")
}
}
J'ai fait une classe comme ci-dessus et j'EMBALLÉES instance comme
let newPerson =person.init(firstname:"string1" lastname:"string2")
maintenant ma question est de savoir comment cet objet va troyed selon ARC depuis la personne que j'ai créé est constante, je ne peux pas l'attribuer à un autre objet, il me donne cette erreur
error: cannot assign to value: 'newPerson' is a 'let' constant
newPerson = nil
~~~~~~~~~~ ^
mais si je le fais alors la méthode est appelée deinit
var newPerson = person(firstname:"string1",lastname:"string2")
puis si je
newPerson = person(firstname:"string2",lastname:"string3")
puis méthode deinit est appelé ainsi ce qui se passe ici peut me expliquer brièvement