copy renvoyant self

Philippe49Philippe49 Membre
09:02 modifié dans API AppKit #1
J'aimerais bien implémenter la copie d'une classe ainsi :

-(id) copyWithZone:(NSZone*) aZone {
return [self retain];
}

Il y a beaucoup de classes standards qui ont ce comportement, mais est-ce que j'oublie quelque chose.
A signaler aussi l'intéressant trucs et Astuces d'Eddy sur les Deep Copy

Réponses

  • schlumschlum Membre
    09:02 modifié #2
    Il faut garantir dans ce cas que la classe est totalement "immutable".
  • psychoh13psychoh13 Mothership Developer Membre
    09:02 modifié #3
    Apple conseille de faire ça lorsque la création d'une nouvelle instance identique est inutile, c'est-à -dire dans le cas où l'objet copié ne change pas d'état, comme c'est le cas des NSArray, NSString, NSDictionary, etc.
    Donc si ton objet n'est pas modifiable tu peux faire ça.
Connectez-vous ou Inscrivez-vous pour répondre.